它山之石可以攻玉

键盘上的生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Intent传递数据从一个Activity到另一个Activity

Posted on 2013-12-10 14:53  陈达辉  阅读(38263)  评论(0编辑  收藏  举报

MainActivity

 

Java代码  收藏代码
  1. package com.test.intentdemo;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.net.Uri;  
  6. import android.os.Bundle;  
  7. import android.view.Menu;  
  8. import android.view.View;  
  9. import android.widget.Button;  
  10.   
  11. public class MainActivity extends Activity {  
  12.       
  13.     private Button btn=null;  
  14.       
  15.     public void onCreate(Bundle savedInstanceState)//onCreate方法用来初始化Activity实例对象  
  16.     {  
  17.         super.onCreate(savedInstanceState);//super.onCreate(savedInstanceState)的作用是调用其父类Activity的onCreate方法来实现对界面的图画绘制工作  
  18.         setContentView(R.layout.activity_main);//setContentView(R.layout.main)的作用是加载一个界面  
  19.         btn=(Button)findViewById(R.id.btn);  
  20.         btn.setOnClickListener(listener);  
  21.     }  
  22.     private View.OnClickListener listener=new View.OnClickListener()  
  23.     {  
  24.           
  25.         @Override  
  26.         public void onClick(View v)  
  27.         {  
  28. //          Intent intent=new Intent();  
  29. //          intent.setAction(Intent.ACTION_SENDTO);  
  30. //          intent.setData(Uri.parse("smsto:5554"));  
  31. //          intent.putExtra("sms_body", "Hello!");//sms_body不能随意换成  
  32. //          startActivity(intent);  
  33.             Intent intent=new Intent();  
  34.             intent.setClass(MainActivity.this, SecondActivity.class);//从一个activity跳转到另一个activity  
  35.             intent.putExtra("str""Intent Demo");//给intent添加额外数据,key为“str”,key值为"Intent Demo"  
  36.             startActivity(intent);  
  37.         }  
  38.     };  
  39.     @Override  
  40.     public boolean onCreateOptionsMenu(Menu menu) {  
  41.         getMenuInflater().inflate(R.menu.activity_main, menu);  
  42.         return true;  
  43.     }      
  44. }  

 secondAcitivity

 

Java代码  收藏代码
  1. package com.test.intentdemo;  
  2.   
  3. import android.R.string;  
  4. import android.app.Activity;  
  5. import android.content.Intent;  
  6. import android.os.Bundle;  
  7. import android.widget.TextView;  
  8.   
  9. public class SecondActivity extends Activity  
  10. {  
  11.     private TextView secondTxt;  
  12.   
  13.     @Override  
  14.     protected void onCreate(Bundle savedInstanceState)  
  15.     {  
  16.         // TODO Auto-generated method stub  
  17.         super.onCreate(savedInstanceState);  
  18.         setContentView(R.layout.second);  
  19.         Intent intent=getIntent();//getIntent将该项目中包含的原始intent检索出来,将检索出来的intent赋值给一个Intent类型的变量intent  
  20.         Bundle bundle=intent.getExtras();//.getExtras()得到intent所附带的额外数据  
  21.         String str=bundle.getString("str");//getString()返回指定key的值  
  22.         secondTxt=(TextView)findViewById(R.id.secondTxt);//用TextView显示值  
  23.         secondTxt.setText(str);  
  24.           
  25.     }  
  26.   
  27. }