【发布时间】:2016-07-31 19:10:39
【问题描述】:
我正在尝试在应用程序运行时更新 listView 项目。我可以通过使用 String[] 而不是 List 来使其工作,但我的目标是让它与 List 一起工作,这样我就可以在应用程序运行时向 listView 添加更多项目。
private List<String> items;
我已经为 MainActivity 类创建了一个列表。
ListView listView = (ListView)findViewById(R.id.listView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item, items);
listView.setAdapter(adapter);
这不起作用。我试图用 items.ToArray() 来解决问题,但没有找到解决方案。试过谷歌搜索,但谷歌的所有结果只重定向到显示如何制作 listView 的教程,每个教程都基于 String[] 数组。
如果我使用以下内容,应用程序可以正常工作:
private String[] items = {"Banana", "Lime"};
我想在用户将项目添加到列表时实时管理它们,方法是:“adapter.notifyDataSetChanged();”
我是 Java 初学者,尤其是 Android 开发方面的初学者,非常感谢您的帮助。
【问题讨论】:
-
假设您初始化了arraylist,那么您的代码应该可以工作。
adapter.add("hello")将更新列表而不需要notifyDataSetChanged