【问题标题】:Difference between ArrayAdapter and ListAdapter in Android?Android中ArrayAdapter和ListAdapter的区别?
【发布时间】:2011-11-14 15:00:08
【问题描述】:

我知道 ListAdapter 是一个接口,而 ArrayAdapter 是一个类。所以我们只能实例化ArrayAdapter。我遇到了一个代码

ListAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, songNames);

但我可以用

做同样的事情
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, songsArray);

所以我想知道,我们在哪些地方需要 ListAdapter ?

谢谢

【问题讨论】:

    标签: java listview android-arrayadapter listadapter


    【解决方案1】:

    这与 Android 无关。但是一个一般的 Java 问题。

    当您使用ListAdapter 作为变量的类型时,您对接口真的很感兴趣。您可能对调用ArrayAdapter&lt;String&gt; 的某些特定方法不感兴趣,这些方法在ListAdapter 中不可用。这主要是因为您只需将适配器分配为视图的列表适配器。

    如果你确实需要调用一些特定的方法,你可以使用ArrayAdapter&lt;String&gt;的精确类型。

    这完全取决于您的用例。

    【讨论】:

      【解决方案2】:

      基础适配器 它是一个非常通用的适配器,可以让你做几乎任何你想做的事情。 它是所有适配器的基类。

      阵列适配器 它是一个更完整的实现,适用于数组或 ArrayLists 中的数据。 同样,如果您的数据在游标中,则应该使用相关的 CursorAdapter。 这两个都扩展了 BaseAdapter

      【讨论】:

        猜你喜欢
        • 2012-07-22
        • 2014-09-24
        • 2013-05-23
        • 1970-01-01
        • 2013-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多