DialogFragment与Fragment之间互相传值
来源:互联网 发布:js newdate 编辑:程序博客网 时间:2024/06/16 13:24
DialogFragment与Fragment互相传值有两种情况:
一、DialogFragment与Fragment在同一Activity:
接下来是DialogFragment:
同样的,需要先定义一个RESPONSE;
这样,DialogFragment传值给Fragment就完成了,Fragment传值给DialogFragment也是同理
二、DialogFragment与Fragment不在同一Activity:
与两个Activity之间传值一样,使用Intent传值,在AFrament中传值给BFragment:
值已经传递给BFragment了,接下来是在BFragment中取值:
以上就是DialogFragment与Fragment之间互相传值的方法,若文章中有什么差错还请各位指出,谢谢
一、DialogFragment与Fragment在同一Activity:
在这种情况下,就利用onActivityResult来取值,与Activity获取另一个Activity的返回值一样,首先定义一个REQUEST的静态常量:
public static final int REQUEST=1;
然后在需要取值的Fragemnt中,覆写onActivityResult:
@Override public void onActivityResult(int requestCode,int resultCode,Intent data){ super.onActivityResult(requestCode,resultCode,data); if(requestCode == REQUEST){ //data.getStringExtra就获取到了DialogFragment所传递过来的值 String evaluate = data.getStringExtra(DialogFragment.RESPONSE}; }
接下来是DialogFragment:
同样的,需要先定义一个RESPONSE;
public static final String RESPONSE="response";
至于为什么是String而不是int,boolean类型的,只是因为,这个RESPONSE只是一个键名,
就跟Intent的put,get方法一样,需要同一个键才能获取到相应的值,接下来就是写一个方法,用来传递给Fragment
protected void setResult(){ //先判断是否有targetFragment if(getTargetFragment == null){ return; }else{ Intent intent = new Intent(); intent.putExtra(RESPONSE,"需要传递的值"); getTragetFragment.onActivityResult(Fragment.REQUEST,Acitivity.RESULT.OK,intent); } }
那么,在Fragment中显示DialogFragment之前,需要先添加targetFragment才行,
否则在DialogFragment中无法找到targetFragment,就无法执行存值的逻辑
DialogFragment dialog = new DialogFragment(); dialog.setTragetFragment(Fragment.this,REQUEST); dialog.show(getFragmentManager,"dialog");
这样,DialogFragment传值给Fragment就完成了,Fragment传值给DialogFragment也是同理
二、DialogFragment与Fragment不在同一Activity:
与两个Activity之间传值一样,使用Intent传值,在AFrament中传值给BFragment:
Intent intent = new Intent(getActivity,BFragment.class); intent.putExtra(BFragment.EXTRA_STRING,"需要传递的值"); startActivity(intent);
值已经传递给BFragment了,接下来是在BFragment中取值:
String data = getActivity.getIntent().getString Extra(EXTRA_STRING);
以上就是DialogFragment与Fragment之间互相传值的方法,若文章中有什么差错还请各位指出,谢谢
0 0
- DialogFragment与Fragment之间互相传值
- ANDROID安卓activity与fragment,activity之间互相传值(一)
- ANDROID安卓activity与fragment,activity之间互相传值(二)
- ANDROID安卓activity与fragment,activity之间互相传值(三)
- ANDROID安卓activity与fragment,activity之间互相传值(四)
- Android fragment 与Activity 互相传值。
- Fragment与Activity之间传值
- Activity与Fragment之间的传值
- Activity与Fragment之间的传值
- Fragment与Activity之间传值
- Fragment与Activityz之间的传值
- Activity与Fragment之间的传值
- Fragment - DialogFragment
- Fragment+DialogFragment
- 跨域传值即主页面与iframe之间互相传值
- Fragment 与DialogFragment 相互之间传递数据
- Activity与Activity,Activity与Fragment及Fragment与Fragment之间传值
- Fragment与Activity之间传值,Fragment与Fragment传值以及对commit的理解
- 如何在MyEclipse10中配置Jad反编译工具?
- 5.3
- CSS常见布局解决方案
- js切换页面文字大小和背景颜色
- java中compareTo和compare方法之比较
- DialogFragment与Fragment之间互相传值
- JavaScript中原型的相关概念
- Js基础-Demo-动态控件生成
- 03-ARP表、路由控制表、MAC表?
- 【Python学习笔记】- 函数
- 集群tomcate
- 大规模并发带来的挑战
- myeclipse控制台乱码解决
- CUDA By Examples 0