我正在尝试填充列表视图,但是如果我在 onCreate
之后初始化它,则不会出现。我试图将其初始化到onCreate
中,并在将值插入用于填充ListView的字符串数组中后使用adapter.notifyDataSetChanged();
,但我没有成功。
有人知道如何解决这个问题吗?我检查了其他问题,但没有找到问题的答案。
预先感谢。
也许您需要在UI线程中调用adapter.notifyDataSetChanged()
。
也最好使用ArrayList<String>
代替String[]
在您的activity
类中持续参考ArrayList
和ArrayAdapter
。
private ArrayList<String> items;
private ArrayAdapter<String> adapter;
初始化您的ArrayList<String>
并在onCreate
adapter
items = new ArrayList<String>();
// add initial items
items.add("1st item");
// create adapter
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);
// set the adapter
listView.setAdapter(adapter);
现在,每当您想更改项目时,请致电ArrayList
的add()
,remove()
等方法,然后随后致电adapter.notifyDataSetChanged()
。可以在任何线程中完成对ArrayList
的更改,但是adapter.notifyDataSetChanged()
应在UI线程中调用。
例如,在按钮中,您可能想做
items.add("New item");
adapter.notifyDataSetChanged();
您也可能想检查这些:这个和
这个
ps:对不起,我的发布技巧不好。我是新手。