java - Android 中 ArrayAdapter 和 ListAdapter 的区别?

标签 java listview android-arrayadapter listadapter

我知道ListAdapter是一个接口(interface),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 ?

谢谢

最佳答案

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

当您使用 ListAdapter 时作为变量的类型,您对接口(interface)非常感兴趣。您可能对调用 ArrayAdapter<String> 的某些特定方法不感兴趣在 ListAdapter 中不可用.这主要是因为您只需将适配器指定为 View 的列表适配器。

您可以使用 ArrayAdapter<String> 的精确类型如果你真的需要调用一些特定的方法。

这完全取决于您的用例。

关于java - Android 中 ArrayAdapter 和 ListAdapter 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8123466/

相关文章:

java - Android ListView 未从 SQLite 加载值

java - 如果发送 JMS 消息时没有 JMSPriority header ,会发生什么情况

java - 放置我自己的 Java 代码(不是服务、 Activity 、 fragment 等)的正确位置在哪里?

java - 铃声播放时间过长

android - ListView 数据未显示在 fragment 中

android - 在android中更改 ListView 内文本的颜色

java - 尝试实现自定义列表适配器时应用程序崩溃(NullPointerException)

java - 如何停止该线程内的线程/计时器?

WPF ListView : Column reorder event?

java - Android 自定义 ListView 文本过滤器不起作用