gpt4 book ai didi

Android inter-Activity signaling(新手问题)

转载 作者:行者123 更新时间:2023-11-29 22:29:41 26 4
gpt4 key购买 nike

我正在编写一个应用程序,它有一个主要的 Activity,它控制着用户查看和交互的主要显示。

它还有一个选项菜单,每个菜单项都有自己的 Activity 和布局来执行各种从属任务。其中一些任务可能会导致主显示内容发生变化。因此,我希望那些从属 Activity 能够向主 Activity 发出信号,表明它必须在下次将控制权转移到主 Activity 时重绘或重新计算主显示,比如说,它的 onResume() 处理程序.

一个 Activity 向另一个 Activity 发出它必须做某事的信号的轻量级方法是什么?我来自 Windows 背景,所以我正在寻找等效于发送 WM_PAINT 消息,或设置标志或信号量以供主要 Activity 读取。

我尝试在主 Activity 中放置一个公共(public) bool 值,但它提示说它必须是静态的。提前致谢!

最佳答案

Android 应用程序的两个组件相互通信的方式是使用广播和广播接收器。 http://developer.android.com/reference/android/content/BroadcastReceiver.html

广播接收器可以在 list 中注册,也可以动态地在代码中注册(尽管一定要注销它,否则日志会提示广播接收器泄漏)。

当您注册接收器时,您还需要提供一个与您用于制作广播卫星的 Intent 相匹配的 Intent 。

另一种可能的方法是,如果您直接从另一个 Activity 调用一个 Activity ,您可以调用 startActivityForResult() 方法:http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent , 整数)。

哦,也只是一个建议,每个 Android 应用程序都有一个全局共享首选项,您可以使用它,因此您可以在重绘时检查它。

关于Android inter-Activity signaling(新手问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4611722/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com