Android - 在 onBackPressed() 之后执行函数;

标签 android

我有一个带有执行以下代码的工具栏项的 Activity :

case android.R.id.home:
                onBackPressed();
                return true;

onBackPressed(); 将用户返回到我的 MainActivity。

我的问题:使用 onBackPressed(); 方法访问 MainActivity Activity 中的函数后,如何执行该函数?这可能吗?

最佳答案

从您的 MainActivity 中,您必须使用 startActivityForResult 启动新的 Activity 像这样:

final Intent intent = new Intent(this, NewActivity.class);
startActivityForResult(intent, yourRequestCode);

yourRequestCode 是一个整数,可用于从 NewActivity 获取结果

NewActivity中,您可以重写onBackPressed()方法:

@Override
public void onBackPressed() {
  /* no call super() */
  setResult(RESULT_OK);
  finish();
}

因此,在您的 MainActivity 上,您可以通过 onActivityResult 获得此结果并运行您的方法:

@Override
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == yourRequestCode && resultCode == Activity.RESULT_OK) {
        // here you can call your method !
    }

}

关于Android - 在 onBackPressed() 之后执行函数;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39897302/

相关文章:

android - onIceGatheringChange 未处于完成状态

android - android studio 2.2 预览版 2 项目结构的开发者服务中不提供云服务

android - 如何在设备上安装未签名的 android 应用程序?

android - 使用 Google Play Services 10.2.98 的 API 19 中的 Firebase 性能崩溃

android - RabbitMQ - 自动生成名为 "amq.gen-*"的随机队列

java - 工具栏的问题

Android videoview恢复不工作

android - 在将数据从 fragment 传递到 Activity 期间获得 Null 值

Android,Autocompletetextview,强制文本来自条目列表

java - 无法将示例 XML 文件导入/转换为字符串以进行解析