我有一个带有执行以下代码的工具栏项的 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/