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
值的类型多重多样: