我有两个活动与ListView。这两个活动有单独的布局文件。首先有myListView01,其次有myListView02。如何更新listView的适配器? 我这样做:ListView更新
ListView list = (ListView)findViewById(R.id.myListView01);
myAdapter = new ArrayAdapter<String>(this, R.layout.item01, R.id.label, array01);
list.setAdapter(myAdapter);
我删除从array01一些项目,我需要没有这个元素来更新我的ListView。 但是这种解决方案ListActivity不起作用:
myAdapter.notifyDataSetChanged();
我的代码:
package ...;
import ...;
public class Class01 extends Activity
{
ArrayAdapter<String> mAdapter;
ArrayList<String> array01 = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.layout01);
ListView list = (ListView)findViewById(R.id.my_list01);
mAdapter = new ArrayAdapter<String>(this, R.layout.item01, R.id.label, array01);
list.setAdapter(mAdapter);
}
public void onListItemClick (ListView parent, View v, int position, long id)
{
array01 = deleteElementByPosition(array01, position);
mAdapter.notifyDataSetChanged(); //does not work
}
public void deleteElementByPosition()
{
...
}
}
总是一个好主意是使用装载机 – Mike 2012-08-11 11:38:17
什么?它与ListView有什么关系? – Leo 2012-08-11 12:10:46
http://developer.android.com/guide/topics/ui/layout/listview.html – Mike 2012-08-11 12:58:34