FragMent-通过Arguments方法 跟activity通信
今天主要学习下通过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通信的更多相关文章
- Android成长日记-Fragment的生命周期与Activity通信
1. public void onAttach(Activity activity) 当Fragment被添加到Activity时候会回调这个方法,并且这个方法只会被回调一次 2. public vo ...
- Fragment的生命周期和Activity之间的通信以及使用
Fragment通俗来讲就是碎片,不能单独存在,意思就是说必须依附于Activity,一般来说有两种方式把Fragment加到Activity,分为静态,动态. 静态即为右键单击,建立一个Fragme ...
- android fragment 的用法以及与activity的交互和保存数据的方法,包括屏幕切换(转载)!
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 1.管理Fragment回退栈 类似与Android系统为Acti ...
- 关于Fragment与Fragment、Activity通信的四种方式
一直想总结一下Fragment与Fragment.Activity通信的问题,今天有时间一共总结了三种,权当抛砖引玉,如果大家还有更好的方式来实现Fragment和Fragment.Activity的 ...
- Fragment的生命周期&同一Activity下不同Fragment之间的通信
Android开发:碎片Fragment完全解析(2) Fragment的生命周期 和Activity一样,Fragment也有自己的生命周期,理解Fragment的生命周期非常重要,我们通过代码的方 ...
- Android为TV端助力 fragment 的用法以及与activity的交互和保存数据的方法,包括屏幕切换(转载)!
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 1.管理Fragment回退栈 类似与Android系统为Acti ...
- Android学习——Fragment与Activity通信(一)
学会了在Activity中加载Fragment的方法之后,接下来便需要学习Activity和Fragment之间的通信.这一节先学习如何把Activity中的信息传递给Fragment. 基本过程 在 ...
- 快速定位 Android APP 当前页面的三种方法(Activity / Fragment)
方法一.通过adb命令打印当前页面: Android 如何快速定位当前页面是哪个Activity or Fragment (1)查看当前Activity :adb shell "dumpsy ...
- 【转】解决Fragment already active方法
http://blog.csdn.net/u011730649/article/details/43227721 今天在项目中使用Fragment的时候出现这样的错误: 01-28 10:53:34. ...
随机推荐
- Android设计模式(十二)--抽象工厂模式
问题: 抽象工厂模式,是一个,狠恶心的模式,那么这个模式在Android有没实用到过呢? 1.定义: 抽象工厂模式:为创建一组相关或者是相互依赖的对象提供一个接口,而不须要指定他们的详细类. 2.使用 ...
- 彻底解决lazarus安装组件后烦人的编译时单元找不到的问题!
以安装indy为例 1/下载组件包, http://www.indyproject.org/Sockets/fpc/indy-10.2.0.3.zip 2/爆开放于C:\lazarus\compone ...
- impala 概述
impala 概述 什么是Impala? Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎. 它是一个用C ++和Java编写的开源软件. 与其他Had ...
- VS初始化设置
来源于网上整理和 书<aps.net mvc企业级实战>中. 1.vs模版 版权注释信息 1.我的电脑上VS2015安装在D盘中,所以找的目录为:D:\Program Files (x86 ...
- 异常: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. ...
- Python正则表达式初识(十)附正则表达式总结
今天分享正则表达式最后一个特殊字符“\d”,具体的教程如下. 1.特殊字符“\d”十分常用,其代表的意思是数字.代码演示如下图所示. 其中“+”的意思是表示连续,在这里代表的意思是连续的数字.但是输出 ...
- python第六次作业——随笔
第一就是教的和布置的作业难度不一样.python在课堂上学到的东西太基础.然而作业基本上在教义是不能直接找到公式照搬的(尤其是第五次作业文件处理要用到pandas和numpy),所以做作业只能自己去找 ...
- 51nod 编辑距离 + 滚动数组优化
这道题一开始觉得增加和删除会移动字符串的位置很不好做 两个字符串dp状态一般是第一个前i个和第二个前j个 #include<cstdio> #include<algorithm> ...
- SpringMVC框架的多表查询和增删查改
必须声明本文章==>http://www.cnblogs.com/zhu520/p/7883268.html 一: 1):我的运行环境 我使用myeclipse(你也可以使用eclipse),t ...
- 洛谷 P3585 [POI2015]PIE
P3585 [POI2015]PIE 题目描述 一张n*m的方格纸,有些格子需要印成黑色,剩下的格子需要保留白色.你有一个a*b的印章,有些格子是凸起(会沾上墨水)的.你需要判断能否用这个印章印出纸上 ...