java - 主从 : how to notify master RecycleView activity of change that requires reloading

标签 java android master-detail

Android 中的主要细节:

我在 MainActivity 中有一个 RecycleView,每个项目都有一行。当用户单击一行时,将加载一个 Details Activity,他可以在其中更改内容。

问题是,当我返回主 Activity 时:

finish()

我必须在 MainActivity 的 onResume 方法上刷新 RecycleView 的适配器:

@Override
public void onResume() {
    Log.d("onResume", "yes");

    super.onResume();

    mAdapter.notifyDataSetChanged();
}

这感觉像是一种浪费,因为并非总是会发生变化(我知道这很不合时宜)。

回到“下方” Activity 的其他选择是什么?我应该使用 Intent 返回 MainActivity 吗?我应该使用单例来传递 didChange 标志吗?也许在我传递的模型上有一个 didChange 标志?

最佳答案

您可以使用 startActivityForResult 启动详细 Activity,如果项目已更改,则在此处设置 RESULT_OK,然后仅当设置此标志时才在 onActivityResult 中通知适配器。此外,您可以调用 notifyItemChanged 而不是调用 notifyDataSetChanged

关于java - 主从 : how to notify master RecycleView activity of change that requires reloading,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36961767/

相关文章:

java - Neo4j java 剩余绑定(bind)

android - 当我连接到我的 Wifi 时,在 Android 上收不到推送通知

android - 保存 WebView 的状态并在 ANDROID 中恢复

ios - displayModeButtonItem 实际上做了什么?

c# - 如何从 Xamarin Forms 中的主从页面传递字符串数据

Java 11 + Tomcat 9 = java.lang.module.FindException : Module java. 找不到 xml.bind

java - 使用 Spring Boot 将 Oracle 数据传输到 SQL Server

android - Genymotion - 从经度和纬度获取地址

android - Xamarin.Forms MasterDetail 页面 NavBar 自定义

在spark集群上运行程序时出现java.lang.ClassNotFoundException