淺析:Acitivity間數(shù)據(jù)的傳遞

使用startActivityForResult方法進行數(shù)據(jù)傳遞。

MainActivity.java

1 public class MainActivity extends

Activity {

2Buttonbtn;

3@Override

4protected void onCreate(Bundle savedInstanceState) {

5super.onCreate(savedInstanceState);

6setContentView(R.layout.activity_main);

7Button btn=(Button)findViewById(R.id.button1);

8btn.setOnClickListener(new OnClickListener(){

9@Override

10public void onClick(View arg0) {

11Intent intent=newIntent(MainActivity.this,OtherActivity.class);

12startActivityForResult(intent,1);

13}

14});

15

16

17}

18protected void onActivityResult(int requestCode,int resultCode,Intentdata){

19switch(requestCode){

20case 1:

21String result=data.getExtras().getString("result");

22}

23}

24

25 }

OtherActivity.java

1 public class OtherActivity extends

Activity {

2Button btn2;

3/**

4*@param args

5*/

6protected void onCreate(Bundle savedInstanceState) {

7super.onCreate(savedInstanceState);

8setContentView(R.layout.activity_other);

9Button btn2=(Button)findViewById(R.id.button2);

10btn2.setOnClickListener(new OnClickListener(){

11

12@Override

13public void onClick(View arg0) {

14// TODO Auto-generatedmethod stub

15Intent intent=new Intent();

16intent.putExtra("result", "hello world");

17OtherActivity.this.setResult(resultcode, intent);

18OtherActivity.this.finish();

19}});

20}

21 }

注:

1.請求碼requestCode:startActivityForResult(intent,requestCode)和onActivityResult(int

requestCode,int resultCode,Intent data)中的requestCode為請求碼,它的作用是用于標識請求來源。例如:一個Activity有兩個按鈕,點擊這兩個按鈕都會打開同一個Activity,不管是那個按鈕打開新Activity,當這個新Activity關(guān)閉后,系統(tǒng)都會調(diào)用前面Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法。在onActivityResult()方法如果需要知道新Activity是由那個按鈕打開的,并且要做出相應(yīng)的業(yè)務(wù)處理。

2.結(jié)果碼resultCode:在一個Activity中,可能會使用startActivityForResult()方法打開多個不同的Activity處理不同的業(yè)務(wù),當這些新Activity關(guān)閉后,系統(tǒng)都會調(diào)用前面Activi

ty的onActivityResult(int requestCode, int resultCode, Intent data)方法。為了知道返回的數(shù)據(jù)來自于哪個新Activity,在onActivityResult()方法中可以這樣做(Result Activity和NewActivity為要打開的新Activity)。

PS:對于APP安全檢測一般我都會用:www.ineice.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容