Intent是安卓應用程序組件之一this
Intent對象在安卓系統當中表示一種意圖code
Intent當中最重要的內容是action與data對象
實如今MainActivity點擊按鈕跳轉到SecondActivity:圖片
1 建立意圖對象;字符串
2 爲意圖對象設置出發地和目的地--Intent.setClass(出發地.this,目的地.class);get
3 startActivityit
class ButtonOnClickListener implements OnClickListener { public void onClick(View arg0) { Intent intent = new Intent(); intent.setClass(MainActivity.this, SecondActivity.class); startActivity(intent); } }
在Activity之間能夠經過Intent對象傳遞數據io
1- 在Activity-A中使用putExtra(鍵,值)系列方法向Intent對象當中存儲數據class
2- 在Activity-B中使用getXXXExtra()系列方法從Intent對象當中獲取數據集List
例子:
MainActivity傳遞一個整型和一個字符串型數據到SecondActivity,後者將其顯示出來。
MainActivity 在Intent上儲存整形和一個字符串型數據:
class ButtonOnClickListener implements OnClickListener { public void onClick(View arg0) { Intent intent = new Intent(); intent.setClass(MainActivity.this, SecondActivity.class); intent.putExtra("com.example.intentpractice.MainActivity.Name", "MARS Android"); intent.putExtra("com.example.intentpractice.MainActivity.Num", 666); startActivity(intent); } }
SecondActivity 接收數據
Intent intent = getIntent(); String name = intent.getStringExtra("com.example.intentpractice.MainActivity.Name"); int num = intent.getIntExtra("com.example.intentpractice.MainActivity.Num", 777);//777爲默認值 textView_Name.setText(name); textView_Num.setText("" + num);
注意
Intent.putExtra(鍵,值)
這裏的鍵格式要求:完整的包名。 如:com.example.intentpractice.MainActivity.Num
值的類型多重多樣: