============问题描述============
代码如下:
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);
这样就可以清空以前的数据而得到我们更新的结果