今天主要学习下通过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. Android设计模式(十二)--抽象工厂模式

    问题: 抽象工厂模式,是一个,狠恶心的模式,那么这个模式在Android有没实用到过呢? 1.定义: 抽象工厂模式:为创建一组相关或者是相互依赖的对象提供一个接口,而不须要指定他们的详细类. 2.使用 ...

  2. 彻底解决lazarus安装组件后烦人的编译时单元找不到的问题!

    以安装indy为例 1/下载组件包, http://www.indyproject.org/Sockets/fpc/indy-10.2.0.3.zip 2/爆开放于C:\lazarus\compone ...

  3. impala 概述

    impala 概述 什么是Impala? Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎. 它是一个用C ++和Java编写的开源软件. 与其他Had ...

  4. VS初始化设置

    来源于网上整理和 书<aps.net mvc企业级实战>中. 1.vs模版 版权注释信息 1.我的电脑上VS2015安装在D盘中,所以找的目录为:D:\Program Files (x86 ...

  5. 异常:error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'

    error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System. ...

  6. Python正则表达式初识(十)附正则表达式总结

    今天分享正则表达式最后一个特殊字符“\d”,具体的教程如下. 1.特殊字符“\d”十分常用,其代表的意思是数字.代码演示如下图所示. 其中“+”的意思是表示连续,在这里代表的意思是连续的数字.但是输出 ...

  7. python第六次作业——随笔

    第一就是教的和布置的作业难度不一样.python在课堂上学到的东西太基础.然而作业基本上在教义是不能直接找到公式照搬的(尤其是第五次作业文件处理要用到pandas和numpy),所以做作业只能自己去找 ...

  8. 51nod 编辑距离 + 滚动数组优化

    这道题一开始觉得增加和删除会移动字符串的位置很不好做 两个字符串dp状态一般是第一个前i个和第二个前j个 #include<cstdio> #include<algorithm> ...

  9. SpringMVC框架的多表查询和增删查改

    必须声明本文章==>http://www.cnblogs.com/zhu520/p/7883268.html 一: 1):我的运行环境 我使用myeclipse(你也可以使用eclipse),t ...

  10. 洛谷 P3585 [POI2015]PIE

    P3585 [POI2015]PIE 题目描述 一张n*m的方格纸,有些格子需要印成黑色,剩下的格子需要保留白色.你有一个a*b的印章,有些格子是凸起(会沾上墨水)的.你需要判断能否用这个印章印出纸上 ...