今天主要学习下通过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();
}

FragMent-通过Arguments方法 跟activity通信的更多相关文章

  1. Android成长日记-Fragment的生命周期与Activity通信

    1. public void onAttach(Activity activity) 当Fragment被添加到Activity时候会回调这个方法,并且这个方法只会被回调一次 2. public vo ...

  2. Fragment的生命周期和Activity之间的通信以及使用

    Fragment通俗来讲就是碎片,不能单独存在,意思就是说必须依附于Activity,一般来说有两种方式把Fragment加到Activity,分为静态,动态. 静态即为右键单击,建立一个Fragme ...

  3. android fragment 的用法以及与activity的交互和保存数据的方法,包括屏幕切换(转载)!

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 1.管理Fragment回退栈 类似与Android系统为Acti ...

  4. 关于Fragment与Fragment、Activity通信的四种方式

    一直想总结一下Fragment与Fragment.Activity通信的问题,今天有时间一共总结了三种,权当抛砖引玉,如果大家还有更好的方式来实现Fragment和Fragment.Activity的 ...

  5. Fragment的生命周期&同一Activity下不同Fragment之间的通信

    Android开发:碎片Fragment完全解析(2) Fragment的生命周期 和Activity一样,Fragment也有自己的生命周期,理解Fragment的生命周期非常重要,我们通过代码的方 ...

  6. Android为TV端助力 fragment 的用法以及与activity的交互和保存数据的方法,包括屏幕切换(转载)!

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 1.管理Fragment回退栈 类似与Android系统为Acti ...

  7. Android学习——Fragment与Activity通信(一)

    学会了在Activity中加载Fragment的方法之后,接下来便需要学习Activity和Fragment之间的通信.这一节先学习如何把Activity中的信息传递给Fragment. 基本过程 在 ...

  8. 快速定位 Android APP 当前页面的三种方法(Activity / Fragment)

    方法一.通过adb命令打印当前页面: Android 如何快速定位当前页面是哪个Activity or Fragment (1)查看当前Activity :adb shell "dumpsy ...

  9. 【转】解决Fragment already active方法

    http://blog.csdn.net/u011730649/article/details/43227721 今天在项目中使用Fragment的时候出现这样的错误: 01-28 10:53:34. ...

随机推荐

  1. CRC校验原理及步骤

    什么是CRC校验? CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并 ...

  2. POJ——T 3255 Roadblocks|| COGS——T 315. [POJ3255] 地砖RoadBlocks || 洛谷—— P2865 [USACO06NOV]路障Roadblocks

    http://poj.org/problem?id=3255 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 15680   ...

  3. Unix网络编程之环境搭建

    环境搭建 在尝试UNP书上的样例时,会由于找不到"unp.h"等问题无法编译成功.因此在学习之前须要先搭建好编译环境. 步骤 <1>下载  UNIX网络编程源码unpv ...

  4. linux内核计算时间差以及jiffies溢出

    jiffies是每一个时钟中断,都会加1.这就导致一个问题.不管jiffies(一般来说是unsigned long类型)多少个字节,总有溢出的时候. 更极端的时候.当期jiffies是0xfffff ...

  5. ajax --- 解决ajax跨域请求导致session失效的问题

    起因:http是无状态的,因此我们通常需要用到cookie以及session来保存状态,session是在服务器端存储的,会和cookie一起使用,设置了session之后,会发送给浏览器一个cook ...

  6. Active Object 并发模式在 Java 中的应用--转载

    原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-activeobject/ 本文主要从以下两个方面进行阐述: 使用 C++ 语言,来描述 Act ...

  7. url传递中文的解决方案总结

    File文件控件,选中文件(图片,flash,视频)即立即预览显示 .Net刷新页面的几种方式 Attributes.Add用途与用法(C#) url传递中文的解决方案总结 byte[] bytes ...

  8. Eclipse如何新建一个tomcat_server发布web项目

    方法/步骤     通过Eclipse打开一个正在开发阶段的java的web项目,没有项目的,只是为了学习的话,可以新建一个测试的java的web项目即可.在功能窗口找到如图所示的Servers窗口, ...

  9. VS Code在本地进行调试和打开本地服务器

    进行本地调试 1.在扩展中搜索插件 Debugger for Chrome 进行安装.我已经进行了安装,就没有出现安装字样. 2.配置launch.json文件,根据步骤来.file就是你在浏览器中需 ...

  10. 学习NLP:《精通Python自然语言处理》中文PDF+英文PDF+代码

    自然语言处理是计算语言学和人工智能之中与人机交互相关的领域之一. 推荐学习自然语言处理的一本综合学习指南<精通Python自然语言处理>,介绍了如何用Python实现各种NLP任务,以帮助 ...