我想知道,如果我通过intent.putextra 访问变量,那么如果通过示例清除该变量的值会发生变化会发生什么?
问问题
1238 次
1 回答
1
它非常简单直接。您需要使用startActivityForResult
,setResult
并onActivityResult
在活动之间保持值更新。例如:
从您当前的活动中,开始一个新的活动,如下所示:
Intent i = new Intent(this, SomeClass.class);
i.putExtra("value", 1001);
startActivityForResult(i, 1);
在您的SomeClass
活动中,获取值,更改它并将其返回,如下所示:
int value = getIntent().getIntExtra("value", 0);
value += 100; //changing the value for demo purposes
Intent j = new Intent();
j.putExtra("modified_value", value);
setResult(Activity.RESULT_OK, j);
finish();
现在回到您的父活动,执行以下操作以接收修改后的值:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == 1){
if(resultCode == Activity.RESULT_OK){
int modified_value = data.getIntExtra("modified_value", 0);
}
}
}
于 2012-08-31T11:43:30.783 回答