Intent在Activity间的传值
是以键值对的形式存取的
存值
@Override
public void onClick(View v) {
//生成Intent对象(包含了ctivity间传的Data,param);相当于一个请求
Intent intent=new Intent();
//键值对
intent.putExtra("extra", "archie2010");
//从此ctivity传到另一Activity
intent.setClass(OneActivity.this, OtherActivity.class);
//启动另一个Activity
OneActivity.this.startActivity(intent);
取值
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置当前ctivity布局
setContentView(R.layout.other);
//获得从上一个Activity传来的intent对象
Intent intent=getIntent();
String stringValue=intent.getStringExtra("extra");
myTextView=(TextView) findViewById(R.id.myTextView);
//设置TextView显示的值(引用String的配置文件)
//myTextView.setText(R.string.other);
//从上个Activity传过来的值
myTextView.setText(stringValue);
}
Intent在两个Activity传递时,这两个Activity可不在同一应用程序下
如在一个Activity中使用Android自带的发送消息的Activity
@Override
public void onClick(View v) {
//启动Android发短信的Activity
//Intent在两Activity传递,Activity可不在同一应用程序下
Uri uri=Uri.parse("smsto:1561893432*");
Intent intent=new Intent(Intent.ACTION_SENDTO, uri);
intent.putExtra("sms", "sms Content");
startActivity(intent);
}
这里的两个Activity便是不在同一应用程序下