我想实现ListView,每个项目都有多个标签,如StackOverflow list(一种主 - 细节样式视图)。
项目中的每个标记都由tags
字符串数组枚举。
标签首次显示时无需更改/过滤,因此我认为它不需要使用适配器(适配器用于数据模型和视图之间的绑定,对吧?)。此外,我认为在每个项目中使用适配器可能会导致性能问题,以便处理其他绑定。
是否有任何解决方法可以在不使用ListView
的情况下添加Adapter
个项目?
作为参考,在C#中,listView.Items.Add("item1");
可以简单地显示项目。
答案 0 :(得分:4)
正如@ Android-Developer所指出的那样,如果没有Adapter
,就无法将数组添加到ListView。
listViewTopics.setAdapter(new ArrayAdapter<Topic>(CurrentActivity.this, R.layout.item_tag, topics));
以上单行代码是将数组项(在此示例中为topics
)显示为ListView
的简单方法。
答案 1 :(得分:1)
没有选项可以使用适配器创建列表。但是,您可以使用默认的阵列适配器进行列表视图。
List<String> values = new ArrayList<>();
values.add("Lesson 1.");
values.add("Lesson 2.");
values.add("Lesson 3.");
values.add("Lesson 4.");
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>
(this, android.R.layout.simple_list_item_1, values);
listView.setAdapter(arrayAdapter);
答案 2 :(得分:0)
试试这个..
在string.xml中首先执行此操作..
<string-array name="Entries">
<item>Item 1</item>
<item>Item 2</item>
<item>Item 3</item>
</string-array>
然后在xml中的ListView中执行此操作。
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/Entries"></ListView>