您的位置:首页 > 其它

我对Bundle传递数据的理解

2014-01-09 16:20 204 查看


        简要分析从左图到右图的数据传递,就可窥知Bundler数据传递一二;

左图数据传递功能:

      获取RadioButton选中为‘男’,身高输入为‘176’,Bundler将这两个数据传递给右图的方法处理。

       1.获取radiobutton选中为男性;

if (boyRadio.isChecked()) {
sex = "M"; //男
} else {
sex = "F";//女
}
      2.获取输入的身高值

double height = Double.parseDouble(editText.getText().toString()); //从EditText中获取输入的身高值
     3.Bundler传递数据----此处为性别,身高

               首先,需新建Bundler对象:

Bundle bundle = new Bundle();
               然后,就是bundler对象的传递数据方法的使用:
bundle.putDouble("height", height); //传入身高
bundle.putString("sex", sex);        //传入性别
               最后,通过intent.putExtras(bundler)绑定bundler进行Activity间的传递;

 《延伸:Bundler其他的重要方法如下:

    clear():清除此Bundle映射中的所有保存的数据。

    clone():克隆当前Bundle

    containsKey(String key):返回指定key的值

    getString(String key):返回指定key的字符

    hasFileDescriptors():指示是否包含任何捆绑打包文件描述符

    isEmpty():如果这个捆绑映射为空,则返回true

    putString(String key, String value):插入一个给定key的字符串值

    readFromParcel(Parcel parcel):读取这个parcel的内容

    remove(String key):移除指定key的值

    writeToParcel(Parcel parcel, int flags):写入这个parcel的内容》

右图数据传递功能:

    通过intent获取传递过来的bundler对象,通过bundler自己的方法,获取bundler对象里传递的左图数据;

//取得intent中的bundle对象
intent = this.getIntent();
Bundle bundle = intent.getExtras();
//通过bundler的方法获取性别,身高
String sex = bundle.getString("sex");
Double height = bundle.getDouble("height");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: