今天主要学习下通过Arguments,实现activity 给fragment传递数据。这个方法也是通过参数bundle来进行数据传输的

直接看如下代码

一,定义一个fragment,在oncreateView 中实现布局

public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
mView = inflater.inflate(R.layout.detail_dialog, container, false);
if (mView != null) {
mTitleView = (TextView) mView.findViewById(R.id.title);
mTimeView = (TextView) mView.findViewById(R.id.time);
mDurationView = (TextView) mView.findViewById(R.id.duration);
mPathView = (TextView) mView.findViewById(R.id.path);
mFileSizeView = (TextView) mView.findViewById(R.id.filesize);
                //通过getArguments获得bundle数据
mTitleView.setText(getArguments().getString("mTitle",""));
android.util.Log.e("zhangshuli", "+++++++"+getArguments().getString("mTitle",""));
mPathView.setText(getArguments().getString("mData",""));
mDurationView.setText(getArguments().getString("mDuration",""));
// +MtkUtils.stringForTime(mHolder.mDuration));
mTimeView.setText(getArguments().getString("mDateTaken",""));
//+MtkUtils.localTime(mHolder.mDateTaken));
mFileSizeView.setText(getArguments().getString("mFileSize",""));
//+Formatter.formatFileSize(mContext, mHolder.mFileSize));
// setButton(BTN_OK, mContext.getString(android.R.string.ok), this);
} else {
return super.onCreateView(inflater, container, savedInstanceState);
}

activity 中实现引用

private void showDetail(final ViewHolder mHolder) {
String mTitle =""+mHolder.mTitle;
String mData=""+mHolder.mData;
String mDuration =""+MtkUtils.stringForTime(mHolder.mDuration);
String mDateTaken =""+MtkUtils.localTime(mHolder.mDateTaken);
String mFileSize =""+Formatter.formatFileSize(this, mHolder.mFileSize);
mFragment=new DetailFragment();
mBundle =new Bundle();
fmFragmentManager=getFragmentManager();
mBundle.putString("mTitle", mTitle);
mBundle.putString("mData", mData);
mBundle.putString("mDuration", mDuration);
mBundle.putString("mDateTaken", mDateTaken);
mBundle.putString("mFileSize", mFileSize);
android.util.Log.e("zhangshuli", "======"+mFileSize);
               //通过setArguments给fragment传递数据
mFragment.setArguments(mBundle);
fmFragmentManager.beginTransaction().replace(R.id.main,mFragment).commit();
}

最新文章

  1. STL中vector小结
  2. 2014 Super Training #4 E Paint the Grid Reloaded --联通块缩点+BFS
  3. ajxa分页+多条件查询
  4. mvc web api 保存多个实体类的方法
  5. Android虚拟机器学习总结Dalvik虚拟机创建进程和线程分析
  6. Android调用本机应用市场,实现应用评分功能
  7. centos 软件库安装
  8. 【Scala-ML】使用Scala构建机器学习工作流
  9. nginx设置目录浏览及解决中文乱码问题
  10. Linux根据MAC地址自动设置IP
  11. 【HDOJ3861】【Tarjan缩点+最小路径覆盖】
  12. Apache-通过CGI执行脚本
  13. HTML5学习笔记(十四):变量作用域
  14. redis 的 HyperLogLog
  15. python 元组元素计数
  16. 使用SoapUI测试windows身份验证的webservice
  17. 【洛谷 P2147】 [SDOI2008]洞穴勘测(LCT)
  18. VS和IE或者360兼容模式简单调试js方法
  19. 入门系列之在Nginx配置Gzip
  20. UVA.540 Team Queue (队列)

热门文章

  1. JDK工具(零)--简要介绍JDK1.6自带的42个工具
  2. ArcGIS api for javascript——查询没有地图的数据
  3. IIS集成和经典配置
  4. jfinal 后台文件上传(结合上一篇(h5 图片回显))
  5. Vue进阶之事件处理器
  6. BZOJ 1305 二分+网络流
  7. RedHat Linux 多媒体学习指南 (共 36 部原创视频)
  8. 基于Linux下Iptables限制BT下载的研究
  9. HTTP 各种特性应用(二)
  10. Restricted Boltzmann Machines