Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何通知列表活动其某个项目已在详细信息活动中更新?_Android_Android Activity_Android Fragments_Master Detail - Fatal编程技术网

Android 如何通知列表活动其某个项目已在详细信息活动中更新?

Android 如何通知列表活动其某个项目已在详细信息活动中更新?,android,android-activity,android-fragments,master-detail,Android,Android Activity,Android Fragments,Master Detail,假设我们想要设计G+应用程序。它有一个列表活动/片段,单击一个项目,将显示详细的活动/片段 我的问题是,我不明白如果用户在详细信息活动中点击加号按钮并单击后退按钮,那么列表中的对应项如何知道用户在详细信息屏幕中点击了加号按钮(因为它显示的加号和详细信息活动相同) 虽然有点晚了,但还是想分享一下我的答案,因为它可能会帮助遇到类似情况的其他人。基本上,您需要在detail fragment类中创建一个接口,并在父活动中实现它,并使用它通过notifyDataSetChanged()更新主列表 您可能

假设我们想要设计G+应用程序。它有一个列表活动/片段,单击一个项目,将显示详细的活动/片段


我的问题是,我不明白如果用户在详细信息活动中点击加号按钮并单击后退按钮,那么列表中的对应项如何知道用户在详细信息屏幕中点击了加号按钮(因为它显示的加号和详细信息活动相同)

虽然有点晚了,但还是想分享一下我的答案,因为它可能会帮助遇到类似情况的其他人。基本上,您需要在detail fragment类中创建一个接口,并在父活动中实现它,并使用它通过notifyDataSetChanged()更新主列表


您可能希望引用以下SOF线程作为实现参考-

我猜,列表片段和细节片段使用相同的数据。当您从详细信息片段返回到列表片段时,notifyDataSetChanged()可能会在详细信息片段中出现任何更新时更新列表片段。列表项来自数据库。所以,通过单击详细片段中的+1按钮,数据库将被更新,而条目的副本将在列表fragment.Right中的内存中。通过调用ListView适配器的notifyDataSetChanged(),ListView将通过其适配器从数据库中刷新其内容,以防详细信息片段发生更改。不是吗?不是,因为基于体系结构,列表片段要求数据库向其传递一页Post项。然后片段将把列表传递给适配器。因为,列表在内存中,所以当用户从详细信息屏幕返回时不会通知。我猜您需要探索内容提供商和内容观察员来实现这一点。