1

私がintent.putextraを介して変数にアクセスしている場合、その値がその変数の変更を例でクリアするとどうなるかを知りたいですか?

4

1 に答える 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 に答える