我想知道,如果我通过intent.putextra访问该变量,那么如果值通过示例清除该变量值会发生什么情况会受到赞赏?
答案 0 :(得分: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);
}
}
}