Android Activity返回结果startActivityForResult函数


点击第一个按钮,然后再第二个页面中输入文字,就会在第一个的EditText中出现在第二个Activity中输入的文字,、

代码一看就能明白startActivityForResult函数

第一个Activity

  1.   
  2.   
  3. import Android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.os.Bundle;  
  6. import android.util.Log;  
  7. import android.view.View;  
  8. import android.view.View.OnClickListener;  
  9. import android.widget.Button;  
  10. import android.widget.EditText;  
  11.   
  12. public class DataBackActivity extends Activity {  
  13.     /** Called when the activity is first created. */  
  14.     private static final int REQUESTCODE=1;  
  15.     private Button button;  
  16.     private EditText editText;  
  17.     @Override  
  18.     public void onCreate(Bundle savedInstanceState) {  
  19.         super.onCreate(savedInstanceState);  
  20.         setContentView(R.layout.main);  
  21.         button=(Button) findViewById(R.id.button1);  
  22.         editText=(EditText) findViewById(R.id.editText1);  
  23.         button.setOnClickListener(new MyButtonLIstener());  
  24.     }  
  25.     class MyButtonLIstener implements OnClickListener{  
  26.   
  27.         @Override  
  28.         public void onClick(View v) {  
  29.             // TODO Auto-generated method stub   
  30.             Intent intent=new Intent();  
  31.             intent.setClass(DataBackActivity.this, To.class);  
  32.             startActivityForResult(intent, REQUESTCODE);  
  33.         }     
  34.     }  
  35.     /* (non-Javadoc) 
  36.      * @see android.app.Activity#onActivityResult(int, int, android.content.Intent) 
  37.      */  
  38.     @Override  
  39.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  40.         // TODO Auto-generated method stub   
  41.         if (requestCode==REQUESTCODE) {  
  42.             switch (resultCode) {  
  43.             case RESULT_OK:  
  44.                 String dateString=data.getExtras().getString("Da");  
  45.                 Log.i("----------->", dateString);  
  46.                 editText.setText(dateString);  
  47.                 break;  
  48.   
  49.             default:  
  50.                 break;  
  51.             }  
  52.         }  
  53.           
  54.           
  55.         super.onActivityResult(requestCode, resultCode, data);  
  56.     }  
  57.       
  58. }  

第二个Activity

  1. package rw.data;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.os.Bundle;  
  6. import android.view.View;  
  7. import android.view.View.OnClickListener;  
  8. import android.widget.Button;  
  9. import android.widget.EditText;  
  10.   
  11. public class To extends Activity {  
  12.     /** Called when the activity is first created. */  
  13.    
  14.     private Button button;  
  15.     private EditText editText;  
  16.     @Override  
  17.     public void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.to);  
  20.         button=(Button) findViewById(R.id.button1);  
  21.         editText=(EditText) findViewById(R.id.editText1);  
  22.         button.setOnClickListener(new MyButtonLIstener());  
  23.     }  
  24.     class MyButtonLIstener implements OnClickListener{  
  25.   
  26.         @Override  
  27.         public void onClick(View v) {  
  28.             // TODO Auto-generated method stub   
  29.             Intent intent=new Intent();  
  30.             intent.putExtra("Da", editText.getText().toString());  
  31.             To.this.setResult(RESULT_OK, intent);  
  32.             To.this.finish();  
  33.         }     
  34.     }  
  35. }  

相关内容