java - 普通view切换activity,onResume和onActivityResult的区别

标签 java android

我的应用程序包含几个具有通用 View 的 Activity (一些 Buttons 和一个 TextView)。我创建了通用的 View 并在 extends Activity 的抽象类中处理了操作,我所有的 Activity 都扩展了我的抽象类。

我的问题是当我在 Activity 之间切换并更改 Button 上的文本时。例如,当我按下“后退”按钮时,上一个 ActivityButton 上没有“更新”文本。我在我的抽象类 onActivityResult() 方法中添加并更改了所有 Activity 以打开从 startActivity 到 startActivityForResult 的新 Activity 。现在一切正常,但我发现还有 onResume() 方法可以解决我的第一个问题。

所以我的问题是:什么更好?甚至更准确:处理我的问题的正确方法是什么? 谢谢

最佳答案

由于您不需要返回任何数据,而且 Button 应该具有的文本是在每次 Activity 打开时调用的函数中获得的,只需使用 onResume() 就足够了。

onResume() 在每次 Activity 运行时被调用,在 onCreate() 运行之后,但它也会在每次Activity 来到前台(例如,通过点击它前面的 Activity 的后退按钮)。

what is the right way to handle my problem?

因此,虽然您可以使用其中任何一个,但此处不需要 startActivityForResult()。它只会增加不必要的代码和开销(即使我怀疑您的用户会看到差异)。只需将检查按钮需要的文本的方法添加到 onResume()

onResume() Docs

当您确实想要从调用的 Activity 返回数据并根据该数据采取特定操作时,I've got an example in this answer

关于java - 普通view切换activity,onResume和onActivityResult的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27928569/

相关文章:

java - 如何将 tess4j 版本 4.1.* 中的字符列入白名单

java - 在 Windows 7 上运行 Android Studio 失败,找不到 Android SDK

android - 单击时 ExpandableListView 不展开

java - 如何使用 IntelliJ 构建共享域模型的多个 mvc 项目

java - 对 int 数组列表进行分组

java - JComboBox 项目监听器

Java - System.setProperty javax.net.ssl.keyStore - 引用 Jar 中的 key 文件

android - 无法隐藏TitleBar,变为透明

java - 虽然 mod 1 不是 0 Android

android - 不使用 ROW_ID 更新 SQL 数据库