我正在寻找Activity的setResult()的访问器版本。想象一下,如果在setResult()中使用了resultCode和Intent,getResult()将返回一个Bundle。
原因是默认情况下活动加载,resultCode设置为RESULT_CANCELED:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3_r1/android/app/Activity.java#669,我希望能够从onPause方法查询resultCode。这可能会为按下的后退按钮保存一个监听器。
答案 0 :(得分:2)
您在设置成员变量时是否可以将resultCode
保存到成员变量,并在onPasuse
中将其读回?
public class MyActivity extends Activity {
private int result = RESULT_CANCELLED;
...
// do some stuff
result = RESULT_OK;
setResult(result);
...
@Override
protected void onPause() {
super.onPause();
switch (result) {
case RESULT_OK:
// do stuff
break;
}
}
}
您也可以使用与您使用的任何Intent
类似的内容。
您必须记住,只要您onPause
不在前台,就会调用Activity
,而不是在您设置结果并调用finish()
时