我对Bundle传递数据的理解

来源:互联网 发布:怎么看出论文数据造假 编辑:程序博客网 时间:2024/05/22 01:59

        简要分析从左图到右图的数据传递,就可窥知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");

0 0
原创粉丝点击