一 如果是两个相邻activity之间的传值:
可以用Intent传值 对象和单个属性都可以都可以
- Intent intent =new Intent(AActivity.this,bActivty.class);//
- // 可以这样
- intent.putExtra("name", "sss");
- intent.putExtra("age", 22);
- // 也可以直接用bundle放对象
- Bundle bundle =new Bundle();
- bundle.putString("name", "ss");
- bundle.putInt("age", 22);
- intent.putExtras(bundle);
- ————————————————————————————————————、
- 二:Application
- 首先可以自定义个Application
-
public class MyApplication extends Application{ public static User user=null;}
-
定义你需要传递的对象或者属性 在A中拿到user 去实例化赋值 然后再除了A的任何一个Activity中去取值使用 如果你的信息比较多 需要每个界面添加不同的信心个这个对象USER 你可以拿到这个user不断去set属性值 到你最后一个界面使用的时候去取值使用就ok ,是不是挺方便
三:
如果是A 界面调到B界面 拿到user的name或者age 需要回到当前A的情况下
1 在A 中使用
startActivityForResult(intent,code); code是返回码数 int
此方法跳到B
2 B可以使用finsh之前 将user或者某个属性扔给A
3 A使用 onActivityResult方法接受此intent
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- // TODO Auto-generated method stub
- user.setName(data.getStringExtra("name"))
- Toast.makeText(this, data.getStringExtra("name"), 1).show();//得到返回的user 此name只是一个key
- super.onActivityResult(requestCode, resultCode, data);
- }
-----------------
四:callback 接口回调