【问题标题】:what is the difference between inserting into ArrayAdapter and adding into arrayList?插入 ArrayAdapter 和添加到 arrayList 有什么区别?
【发布时间】:2017-02-20 02:10:17
【问题描述】:

我在 android 中使用 ListView,所以要使用按钮将项目插入列表中,我做了以下操作:创建 arraylist、arrayadapter,将适配器设置为 arraylist 并使用以下代码:

addButton.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            listItems.add(editText.getText().toString());
            adapter.notifyDataSetChanged();
        }
    });

这很好用,但我还发现ArrayAdapter 有一个名为insert 的方法,那么插入ArrayAdapter 和添加到arrayList 有什么区别?

PS:我是这个适配器概念的新手,可以向我解释一下吗? 谢谢。

【问题讨论】:

    标签: java android android-adapter


    【解决方案1】:

    简单来说,你可以这么说:

    arrayList 用于列表中的项目,而 arrayAdapter 的工作是管理列表中的项目。

    当行出现在屏幕上时,适配器会根据需要创建行。

    如果您想了解更多信息,我建议您查看链接 https://developer.android.com/reference/android/widget/ArrayAdapter.html https://developer.android.com/reference/java/util/ArrayList.html

    【讨论】:

      【解决方案2】:

      ArrayAdapter 不同于 ArrayList

      首先Adapter在Android中是:

      Adapter 对象充当 AdapterView 和 该视图的基础数据。适配器提供对数据的访问 项目。 Adapter还负责为每个item制作一个View 在数据集中。

      有关 Android 中 Adapters 的详细信息和类型,请参阅 docs

      ArrayAdapter 是:

      由任意数组支持的具体 BaseAdapter 对象。

      但是ArrayList是:

      List 接口的 Resizable-array 实现。实现所有 可选列表操作,并允许所有元素,包括 null。在 该类除了实现 List 接口外,还提供 操作内部使用的数组大小的方法 存储列表。 (这个类大致相当于Vector,除了 它是不同步的。)

      更多信息请参考docs

      阅读此answer 以进一步了解它们之间的区别

      【讨论】:

      • 您链接的另一个答案很有帮助。如果我理解正确,insert 到适配器和 add 到 arraylist 之间是有区别的。那么我应该使用哪一个?
      • @anotherGatsby 你了解ArrayAdapterArrayList 之间的区别吗?您无法比较来自两个不同类的两种方法。 Insert 用于在 Adapter 的 Array 中插入对象,ArrayList 的添加用于将对象插入到集合中 ArrayList
      • 我想我会尝试insertadd 方法,以便了解它们的真正区别。
      猜你喜欢
      • 2013-05-23
      • 2012-07-22
      • 2014-06-29
      • 1970-01-01
      • 1970-01-01
      • 2018-10-03
      • 2011-02-28
      • 2013-09-02
      相关资源
      最近更新 更多