【问题标题】:Best Practice updating ListView更新 ListView 的最佳实践
【发布时间】:2016-08-25 12:07:12
【问题描述】:

我在做什么:
我正在开发的应用程序有一个可点击的主题列表,由用户系统地添加。在一个学期/学期结束时,用户清除下一学期的列表,删除所有保存用户值的文件。

问题:
使用以下方法简单地刷新我正在处理的活动是否更好:

finish();
startActivity(getIntent());

或通过重新启动 ArrayAdapter(命名为 listAdapter)并使用以下方法重置它来清除列表:

listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, R.id.rowTextView);
testListView.setAdapter(listAdapter);

或者有没有更好的方法?

【问题讨论】:

  • ArrayAdapter 构造函数采用 Arraylist 的附加参数。您可以修改该数据并使用下面提到的通知方法

标签: android listview android-arrayadapter


【解决方案1】:

更改数组中的值并调用adapter.notifyDataSetChanged();

【讨论】:

    【解决方案2】:

    一般来说,关闭 Activity 被认为是不好的做法。 活动在 Android 上很重,大多数现代应用程序甚至不使用多个活动。

    如果您想替换全部或部分内容,您可能需要考虑使用片段。片段是 UI 的一部分,独立于 Activity 工作。 在此处阅读有关片段的更多信息:https://developer.android.com/guide/components/fragments.html

    如果 UI 保持不变并且您真的只想使用新的 ArrayAdapter,那么您的方法应该可行。如果它所代表的数据发生变化,则更好的方法是修改现有的适配器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-02
      • 2010-10-01
      • 2017-01-31
      • 2011-03-16
      • 2023-03-13
      相关资源
      最近更新 更多