如果未声明到 onCreate 中,则列表视图不显示



我正在尝试填充列表视图,但是如果我在 onCreate之后初始化它,则不会出现。我试图将其初始化到onCreate中,并在将值插入用于填充ListView的字符串数组中后使用adapter.notifyDataSetChanged();,但我没有成功。

有人知道如何解决这个问题吗?我检查了其他问题,但没有找到问题的答案。

预先感谢。

也许您需要在UI线程中调用adapter.notifyDataSetChanged()

也最好使用ArrayList<String>代替String[]

在您的activity类中持续参考ArrayListArrayAdapter

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);

现在,每当您想更改项目时,请致电ArrayListadd()remove()等方法,然后随后致电adapter.notifyDataSetChanged()。可以在任何线程中完成对ArrayList的更改,但是adapter.notifyDataSetChanged()应在UI线程中调用。

例如,在按钮中,您可能想做

items.add("New item");
adapter.notifyDataSetChanged();

您也可能想检查这些:这个和

这个

ps:对不起,我的发布技巧不好。我是新手。

最新更新