Android Activitvity间的数据传递

Activity之间传值以及回传值

Activity有一个重要的方法:onActivityResult();

  1. protected void onActivityResult(int requestCode, int resultCode, Intent data)  
  2. {  
  3.     super.onActivityResult(requestCode, resultCode, data);  
  4. }  

参数说明:

requestCode: 请求码      resultCode: 结果码     data:  返回数据

  1. 第一个Activity  
[java]  view plain  copy
  1. <pre class="java" name="code">@Override  
  2. protected void onCreate(Bundle savedInstanceState) {  
  3.     super.onCreate(savedInstanceState);  
  4.     setContentView(R.layout.activity_main);  
  5.     button = (Button)this.findViewById(R.id.button1);  
  6.     editText1 = (EditText)this.findViewById(R.id.editText1);  
  7.     editText2 = (EditText)this.findViewById(R.id.editText2);  
  8.     editText3 = (EditText)this.findViewById(R.id.editText3);      
  9.     button.setOnClickListener(new View.OnClickListener() {        
  10.         @Override  
  11.         public void onClick(View arg0) {  
  12.             // TODO Auto-generated method stub  
  13.             Intent intent = new Intent(MainActivity.this,NextActivity.class);  
  14.             String a = editText1.getText().toString().trim();  
  15.             String b = editText2.getText().toString().trim();  
  16.             intent.putExtra("message", a+"+"+b+"="+"?");  
  17.             startActivityForResult(intent, 1000);//需要回传值的话要使用startActivityForResult函数,其中1000是请求码  
  18.         }  
  19.     });  
  20. }  
  21.   
  22. @Override  
  23. protected void onActivityResult(int arg0, int arg1, Intent arg2) {  
  24.     // TODO Auto-generated method stub  
  25.     super.onActivityResult(arg0, arg1, arg2);  
  26.     if(arg0 == 1000 && arg1 == 1001//这里的1000是上面定义的请求码,1001是返回码  
  27.     {  
  28.         String result = arg2.getStringExtra("result");  
  29.         editText3.setText(result);  
  30.     }  
  31. }  

 
 

 

第二个Activity

[java]  view plain  copy
  1. button.setOnClickListener(new View.OnClickListener() {        
  2.     @Override  
  3.     public void onClick(View arg0) {  
  4.         // TODO Auto-generated method stub  
  5.         String value = editText.getText().toString().trim();  
  6.         Intent intent = new Intent();  
  7.         intent.putExtra("result", value);  
  8.         setResult(1001,intent);//1001是返回码  
  9.         finish();//结束生命周期  
  10.     }  
  11. });  

猜你喜欢

转载自blog.csdn.net/lmy_58818/article/details/80668541
今日推荐