Intent在Activity间的传值

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便是不在同一应用程序下

posted on 2011-05-11 21:58  archie2010  阅读(12369)  评论(0编辑  收藏  举报