可以在不使用Adapter的情况下添加ListView项吗?静态数组显示太麻烦了

时间:2013-05-08 10:12:10

标签: android android-arrayadapter

我想实现ListView,每个项目都有多个标签,如StackOverflow list(一种主 - 细节样式视图)。 项目中的每个标记都由tags字符串数组枚举。

标签首次显示时无需更改/过滤,因此我认为它不需要使用适配器(适配器用于数据模型和视图之间的绑定,对吧?)。此外,我认为在每个项目中使用适配器可能会导致性能问题,以便处理其他绑定。

是否有任何解决方法可以在不使用ListView的情况下添加Adapter个项目?

作为参考,在C#中,listView.Items.Add("item1");可以简单地显示项目。

3 个答案:

答案 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>