运行 从 activity 返回后的代码
Running code after returning from an activity
在单击按钮时,我正在创建一个新意图并启动 activity。在带有 finish() 的 activity return 之后,我想刷新一些屏幕元素。这是我正在做的
private void onButtonClicked() {
Intent myIntent = new Intent(this, myActivity.class);
this.startActivity(myIntent);
refreshButtons();
}
我的问题是 refreshButtons() 在加载新意图时被调用,而不是在 return 来自 activity 时被调用。当我从 activity 开始
return 时,如何将 refreshButtons() 设置为 运行
调用 Intent 时使用 startActivityForResult
,完成后将调用 Intent onActivityResult 方法。
private void onButtonClicked() {
Intent myIntent = new Intent(this, myActivity.class);
this.startActivityForResult(myIntent);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
refreshButtons();
}
试试这个
private void onButtonClicked() {
Intent i = new Intent(this, myActivity.class);
startActivityForResult(i, 1);
refreshButtons();
}
在我的活动中
Intent returnIntent = new Intent();
setResult(RESULT_CANCELED, returnIntent);
finish();
现在在您的 FirstActivity class 中为 onActivityResult() 方法编写以下代码。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == RESULT_OK){
refreshButtons();
}
if (resultCode == RESULT_CANCELED) {
//Write your code if there's no result
}
}
}//onActivityResult
在单击按钮时,我正在创建一个新意图并启动 activity。在带有 finish() 的 activity return 之后,我想刷新一些屏幕元素。这是我正在做的
private void onButtonClicked() {
Intent myIntent = new Intent(this, myActivity.class);
this.startActivity(myIntent);
refreshButtons();
}
我的问题是 refreshButtons() 在加载新意图时被调用,而不是在 return 来自 activity 时被调用。当我从 activity 开始
return 时,如何将 refreshButtons() 设置为 运行调用 Intent 时使用 startActivityForResult
,完成后将调用 Intent onActivityResult 方法。
private void onButtonClicked() {
Intent myIntent = new Intent(this, myActivity.class);
this.startActivityForResult(myIntent);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
refreshButtons();
}
试试这个
private void onButtonClicked() {
Intent i = new Intent(this, myActivity.class);
startActivityForResult(i, 1);
refreshButtons();
}
在我的活动中
Intent returnIntent = new Intent();
setResult(RESULT_CANCELED, returnIntent);
finish();
现在在您的 FirstActivity class 中为 onActivityResult() 方法编写以下代码。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == RESULT_OK){
refreshButtons();
}
if (resultCode == RESULT_CANCELED) {
//Write your code if there's no result
}
}
}//onActivityResult