2つのアクティビティA、Bの間でデータを渡すときに2つのシナリオがあります。
- アクティビティAは、
- アクティビティBは、それが私が示唆している両方の場合にsetResult
を使用して終了したときに、アクティビティAにデータを返すことを望む(意図startActivity介して)アクティビティBにデータを渡したいです余分な鍵を使用するためのパブリック静的最終変数をいくつか作成します。あなたがAからBにキー「格付け」を使用して整数を渡す必要がある場合
は、例えば、私はおそらく
class A extends Activity {
public static final String RESULT_STATUS = "RESULT_STATUS";
// Whatever ....
public void startB(int rating) {
Intent toStart = new Intent(this, B.class);
toStart.putExtra(B.EXTRA_RATING, rating);
startActivityForResult(toStart, 0);
}
public void onActivityResult(int requestCode /* 0 in our case */, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
String returnedStatus = data.getStringExtra(RESULT_STATUS);
// Whatever ....
}
}
class B extends Activity {
public static final String EXTRA_RATING = "EXTRA_RATING";
public void onCreate(Bundle b) {
// Whatever ....
int rating = getIntent().getIntExtra(EXTRA_RATING,0);
}
// Whatever ....
public void returnDataAndFinish(String status) {
Intent result = new Intent();
result.putExtra(A.RESULT_STATUS, status);
setResult(RESULT_OK, result);
finish();
}
}
を行うだろう