1.使用Bundle在Activity之间交换数据
说明:Bundle是一个字符串值到各种Parcelable类型的映射,用于保存要携带的数据包
基本语法
MainActivity.java(On creat())
Intent intent = new Intent(MainActivty.this,AnotherActivity.class);
Bundle bundle = new Bundle(); //创建并且实例化一个Bundle对象
bundle.putCharSequence("key",value);//以键值对的形式输入数据
intent.putExtras(bundle);//将Bundle对象添加到intent中进行传输
startActivity(intent);//启动新的Activity
AnotherActivity.java(On Creat())
Intent intent = getIntent();//获取Intent对象
Bundle bundle = intent.getExtras();//获取传递的数据包
bundle.getString("key");//通过键名来获取键值
注意:
新增加AnotherActivity时候要在AndroidMainfest.xml中进行配置
<activity
android:name=".类名"//此类在默认的包下
android:lable="显示。。"
>
</activity>
1.AnotherActivity中的数据返回
AnotherActivity.java(OnClick())
可以用在一个onclick中进行回调
首先声明一下返回的状态码
private final int ResultCode = 1;//这里声明1为正确的返回码;
bnt.setOnclickListener(new OnClickListener()){
public void onClick(View v){
Intent intent = new Intent();
intent.putExtra("key",value);//以键值对的形式输入传入的数据
setResult(ResultCode,intent);//设置返回的结果码,并返回调用该Activity的Activity
finish();//关闭当前Activity
}
}
MainActivity.java
Private final int RequestCode = 1;//请求码
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode==RequestCode){ if (resultCode==ResultActivity.ResultCode){ Bundle bundle = data.getExtras();
String result = bundle.getString("key");//通过key值进行获取返回的参数
} } }
下片会写一个关于上面知识总结的示例,大家有兴趣可以参考参考。
http://blog.csdn.net/qq_21813987/article/details/50646722