ActivityエコーデータメソッドstartActivity ForResult onActivity Result

3661 ワード

2つのActivity,A,Bがあり,AによってBが起動され,Bにデータが伝達され,Bは処理後にAにデータが伝達される.例えば、Aはメインプログラムである、Bは設定パラメータのActivityであり、Bが設定を変更する後、Aに設定を読み直させるには、再送データが用いられる.主に2つの関数startActivity ForResult onActivity Result先はA伝B:
1
2
3
4
5
6
7
8
    	Bundle bd = new Bundle();
             bd.putString("Dir", "/sdcard/");
    	Intent intent=new Intent();
    	intent.putExtras(bd);
      	intent.setClass(main.this,location.class);
    	startActivityForResult(intent,2);
            // 2 , requestCode, , requestCode,
        // A , 

次に、Bが受信して返信します.
1
2
3
4
Intent it = new Intent(); 
it.putExtra("Dir",(String) tv1.getText());
setResult(2, it);//2 A 2 
finish();

Aの受信コード:
1
2
3
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    	//B 
     }