从一个activity跳转到另一个activity,利用intent传递数据

描述:点击activity 02中的按钮,使页面跳转到 otherActivity 并将activity02 中的数据传给 otherActivity,并显示

第一个activity

[java] view plaincopy
  1. /** 
  2.  * 这个Activity是应用程序启动只有运行的第一个Activity,在这个Activity当中有一个按钮 
  3.  *  
  4.  * 
  5.  */  
  6. public class Activity02 extends Activity {  
  7.     /** Called when the activity is first created. */  
  8.     //代表按钮对象的引用  
  9.     private Button myButton = null;  
  10.     //复写父类当中的onCreate方法,Activity第一次运行时会调用这个方法  
  11.     @Override  
  12.     public void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.         //为Activity设置布局管理文件   
  15.         setContentView(R.layout.main);  
  16.         //以下两行代码是根据控件的ID来得到控件对象  
  17.         myButton = (Button)findViewById(R.id.myButton);  
  18.         //为按钮对象设置监听器对象  
  19.         myButton.setOnClickListener(new MyButtonListener());  
  20.     }  
  21.     //以下是一个内部类,这个内部类的对象是一个监听器(如果大家对监听器不是很熟悉,可以参考设计模式当中的观察者模式)  
  22.     class MyButtonListener implements OnClickListener{  
  23.         //生成该类的对象,并将其注册到控件上。如果该控件被用户按下,就会执行onClick方法   
  24.         @Override  
  25.         public void onClick(View v) {  
  26.             //生成一个Intent对象  
  27.             Intent intent = new Intent();  
  28.             //在Intent对象当中添加一个键值对  
  29.             intent.putExtra("testIntent""123");  
  30.             //设置Intent对象要启动的Activity  
  31.             intent.setClass(Activity02.this, OtherActivity.class);  
  32.             //通过Intent对象启动另外一个Activity  
  33.             Activity02.this.startActivity(intent);  
  34.             /**以下的4行代码将启动发送短信的Activity,详细的情况会在以后的课程当中进行介绍 
  35.                 Uri uri = Uri.parse("smsto://0800000123");     
  36.                 Intent intent = new Intent(Intent.ACTION_SENDTO, uri);     
  37.                 intent.putExtra("sms_body", "The SMS text");     
  38.                 startActivity(intent); 
  39.              */  
  40.         }  
  41.           
  42.     }  
  43. }  


第二个activity
[java] view plaincopy
  1. public class OtherActivity extends Activity{  
  2.     private TextView myTextView = null;  
  3.     @Override  
  4.     protected void onCreate(Bundle savedInstanceState) {  
  5.         // TODO Auto-generated method stub  
  6.         super.onCreate(savedInstanceState);  
  7.         setContentView(R.layout.other);  
  8.         //取得从上一个Activity当中传递过来的Intent对象  
  9.         Intent intent = getIntent();  
  10.         //从Intent当中根据key取得value  
  11.         String value = intent.getStringExtra("testIntent");  
  12.         //根据控件的ID得到响应的控件对象  
  13.         myTextView = (TextView)findViewById(R.id.myTextView);  
  14.         //为控件设置Text值  
  15.         myTextView.setText(value);  
  16.           
  17.     }  
  18.   
  19. }