我从今天开始学习Android,每天记录学习内容,与大家一起进步!
1、安卓之参数传递
Intent是activity,应用组建进行通信的桥梁,所以所有的参数传递都与它有关。
1.1参数传递方式 Intent
简单参数传递:fatherActivity传递参数到sonActivity :
// Intent intent=new Intent(fatherActivity.this,sonActivity.class);
// intent.putExtra("tag","这是传递的参数");
// startActivity(intent);启动子activity
sonActivity 接受参数的方式为: getIntent().getStringExtra("tag");//简单参数
1.2复杂参数传递方式:
Bundle类用作携带数据,它类似于Map,用于存储Key-Value名值对形式的值。相对于Map,它提供了各种常用类型的putXXX()/GetXXX()方法,putXXX用于将
数据放入Bundle对象中。
Intent intent=new Intent(MainActivity.this,aly.class);
Bundle data=new Bundle();
data.putString("txt","hello1");//复杂数据的传递
intent.putExtras(data);
startActivity(intent);启动子activity
子页面获取数据
Bundle data=getIntent().getExtras();//复杂数据的接收
data.getString(Key);
1.3带返回值的页面传递值
启动一个Intent时使用 startActivityForResult(intent,0);
父页面重写
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data!=null)
{
String result=data.getStringExtra("result");
textView.setText(result);
}
子页面接受数据进行处理
Intent i=new Intent();
i.putExtra("result","hellow Main");
setResult(0,i);
finish();