通过Intent.putExtra访问Activity中的变量

时间:2012-08-31 11:28:12

标签: android android-intent

我想知道,如果我通过intent.putextra访问该变量,那么如果值通过示例清除该变量值会发生什么情况会受到赞赏?

1 个答案:

答案 0 :(得分:1)

非常简单直接。您需要使用startActivityForResultsetResultonActivityResult来保持活动之间的值更新。例如:

从您当前的活动中,按以下步骤开始新的活动:

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);
        }
    }
}