总则
Intent的一个重要的作用就是用来开启下一个Activity,包含隐式和显示两种传递方法,可以用来
相互传递数据。
A–B传递数据:
由A向B传递数据:
A的处理:
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra("键",值);
startActivity(intent);
B的处理:
Intent intent = getIntent();//先获得上一个界面的Intent
String string = intent.getStringExtra("键");//根据上一个Intent的键获得相关的值
//string就是A 要传递给B的值;
B–A传值
由B向A传值。
A的处理:
Intent intent = new Intent(context, BillActivity.class);
startActivityForResult(intent, 2);//开启下一个界面,并设置一个标记
B的处理:
Intent intent =new Intent();
intent.setStringExtra("关键字",要返回的数据);//设置关键字和要返回的数据
setResult(2,intent);//将标记传递给上一个界面以便于区分返回的是哪个intent的数据
finish()//只有界面关闭的时候才能够传递数据。
A的接受数据的处理
在A中重新写
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(data ==null){
Toast.makeText(MainActivity.this,"返回的数据为空",Toast.LENGTH_LONG).show();
}else{
if (resultCode==1){
returnData = data.getStringExtra("returnData");
tv_get_data.setText(returnData);
}
}
}
其中:
data 是返回的一个数据。
resultCode是一个数据给谁传递的一个标志。
可通过data.getXXXX();的方法来进行返回的数据的获得。
然后可以进行下一步的操作。
其他的还有好多细节的问题要掌握。注意总结