the content of the adapter has changed but listview did not
?http://dev.10086.cn/cmdn/wiki/index.php?doc-view-5432.html高手文章,要分享
這是我原來的代碼
public class FileDeleteActivity extends ListActivity {
??? /** Called when the activity is first created. */
?ArrayList<String> listStr=new ArrayList<String>();
?private Handler handler=null;
??? @Override
??? public void onCreate(Bundle savedInstanceState) {
??????? super.onCreate(savedInstanceState);
??????? setContentView(R.layout.main);
??????? final ListView list=new ListView(this);
??????? listStr=getDataSource();
??????? Adapter adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listStr);
??????? list.setAdapter(adapter);
??????? setListAdapter(adapter);
?}
???
??? private ArrayList<String> getDataSource(){
??? ?ArrayList<String> source=new ArrayList<String>();
??? ?source.add("11");
??? ?source.add("aa");
??? ?source.add("Aa");
??? ?source.add("EE");
??? ?source.add("--23");
??? ?return source;
??? }
???
??? @Override
??? protected void onListItemClick(ListView l, View v, int position, long id){
??? ?listStr.remove(position);
?????super.onListItemClick(l, v, position, id);
??? }
}
這是我修改之后的代碼:目的,每次點(diǎn)擊之后就刪除該選項(xiàng)
public class FileDeleteActivity extends ListActivity {
??? /** Called when the activity is first created. */
?ArrayList<String> listStr=new ArrayList<String>();
?private Handler handler=null;
?private ArrayAdapter<String> adapter=null;
??? @Override
??? public void onCreate(Bundle savedInstanceState) {
??????? super.onCreate(savedInstanceState);
??????? setContentView(R.layout.main);
??????? final ListView list=new ListView(this);
??????? listStr=getDataSource();
??????? adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listStr);
??????? list.setAdapter(adapter);
??????? setListAdapter(adapter);
? }
???
??? private ArrayList<String> getDataSource(){
??? ?ArrayList<String> source=new ArrayList<String>();
??? ?source.add("11");
??? ?source.add("aa");
??? ?source.add("Aa");
??? ?source.add("EE");
??? ?source.add("--23");
??? ?return source;
??? }
???
??? @Override
??? protected void onListItemClick(ListView l, View v, int position, long id){
??? ?listStr.remove(position);
??? ?adapter.notifyDataSetChanged();//更新一下就行了
?????super.onListItemClick(l, v, position, id);
??? }
}
好了,希望對你有用!!
轉(zhuǎn)載于:https://www.cnblogs.com/nizuimeiabc1/archive/2011/09/23/4254320.html
總結(jié)
以上是生活随笔為你收集整理的the content of the adapter has changed but listview did not的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搭建Android开发环境的介绍
- 下一篇: js统计字符长度