首页 > 代码库 > 如何清空android ListView控件的内容

如何清空android ListView控件的内容

============问题描述============


代码如下:
BaseAdapter  ba=new BaseAdapter()
{

public int getCount() {
// TODO Auto-generated method stub
return count;
}

public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}

public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}

public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub
LinearLayout ll=new LinearLayout(ShowBusActivity.this);
ll.setOrientation(LinearLayout.HORIZONTAL);
TextView tv1=new TextView(ShowBusActivity.this);
tv1.setText(routeID);
tv1.setTextSize(12);
tv1.setWidth(120);
tv1.setTextColor(Color.WHITE);
ll.addView(tv1);
TextView tv2=new TextView(ShowBusActivity.this);
tv2.setText(tempBus[arg0].strCarId);
tv2.setTextSize(12);
tv2.setWidth(120);
tv2.setTextColor(Color.WHITE);
ll.addView(tv2);
TextView tv3=new TextView(ShowBusActivity.this);
tv3.setText(tempBus[arg0].distance);
tv3.setTextSize(12);
tv3.setWidth(120);
tv3.setTextColor(Color.WHITE);
ll.addView(tv3);
TextView tv4=new TextView(ShowBusActivity.this);
tv4.setText(tempBus[arg0].direction);
tv4.setTextSize(12);
tv4.setWidth(120);
tv4.setTextColor(Color.WHITE);
ll.addView(tv4);
return ll;
}};

lv.setAdapter(ba);
程序中tempBus中的内容是有使用者更新的,我想在每次更新时只显示更新后的内容,可当程序运行时每更新一次就会在ListVeiw中再加一次更新后的内容,未更新前的内容也显示在ListView 上。请高手们帮帮忙,要怎样在更新数据前把ListView中的内容清空?

============解决方案1============


tempBus更新是吧!你把上一次显的tempBus[]清空不就行了!你那里面的TextView要清除轻型?

============解决方案2============


作者应该用适配器来添加ListView的Item比较好吧

给你提供一个思路:
1,当我们要加载item的时候,首先把 list清空

list.clear(); 

适配器

adapter1 =new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, list); 
listView.setAdapter(adapter1); 

这样加载以后就把Listview 中的数据清空了

2,然后再加载我们想要的数据

list.add("a"); 
list.add("c"); 
list.add("b"); 
list.add("a");
list.add("c");
list.add("b");

适配器

adapter1 =new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, list); 
listView.setAdapter(adapter1); 
adapter1 =new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, list);
listView.setAdapter(adapter1);

这样就可以清空以前的数据而得到我们更新的结果

如何清空android ListView控件的内容