点击一个按钮,我正在创建一个新意图并开始一项活动。活动返回完成后(),我想刷新一些我的屏幕元素。这就是我正在做的事情
private void onButtonClicked() {
Intent myIntent = new Intent(this, myActivity.class);
this.startActivity(myIntent);
refreshButtons();
}
我的问题是,在加载新意图时调用refreshButtons(),而不是从活动返回时调用。当我从活动开始
返回时,如何让refreshButtons()运行答案 0 :(得分:1)
试试这个
private void onButtonClicked() {
Intent i = new Intent(this, myActivity.class);
startActivityForResult(i, 1);
refreshButtons();
}
在myActivity中
Intent returnIntent = new Intent();
setResult(RESULT_CANCELED, returnIntent);
finish();
现在,在您的FirstActivity类中,编写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
答案 1 :(得分:0)
调用Intent时使用startActivityForResult
,完成后将调用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();
}