我正在尝试填充listView,但是如果我在onCreate
之后对其进行初始化,则不会出现。在将值插入用于填充listView的String数组中之后,我尝试将其初始化为onCreate
并使用adapter.notifyDataSetChanged();
。
有人知道如何解决这个问题吗?我检查了其他问题,但没有找到解决问题的答案。
谢谢。
答案 0 :(得分:2)
也许您需要在UI线程中调用adapter.notifyDataSetChanged()
。
另外,最好使用ArrayList<String>
代替String[]
在ArrayList
类中保留对ArrayAdapter
和activity
的引用。
private ArrayList<String> items;
private ArrayAdapter<String> adapter;
初始化您的ArrayList<String>
并在adapter
中设置onCreate
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);
现在,无论何时要更改项目,都可以调用add()
的{{1}},remove()
等方法,然后调用ArrayList
。可以在任何线程中完成对adapter.notifyDataSetChanged()
的更改,但是应该在UI线程中调用ArrayList
。
例如,您可能想按按钮
adapter.notifyDataSetChanged()
此外,您可能想检查以下内容: this和
PS:对不起,我的发帖技巧不好。我是新来的。