更多关于Fragment的使用

原创 2016年08月28日 18:42:30


承接上篇

Fragment如何接收argument参数

Fragment如何获取Activity接收的intent值呢?

主要是通过Bundle 来 putString() 参数, 在创建Fragment实例的时候将Bundle作为参数 setArgument(),这样在 getArgument()的时候,就可以用Bundle 的 getString()拿到所要传递的参数, 即由Activity传递进来的intent值.

以下代码摘自 Android Fragment 你应该知道的一切

  1.  public static ContentFragment newInstance(String argument)  
  2.     {  
  3.         Bundle bundle = new Bundle();  
  4.         bundle.putString(ARGUMENT, argument);  
  5.         ContentFragment contentFragment = new ContentFragment();  
  6.         contentFragment.setArguments(bundle);  
  7.         return contentFragment;  
  8.     }  

  1.  private String mArgument;  
  2.  public static final String ARGUMENT = "argument";  
  3.   
  4.     @Override  
  5.     public void onCreate(Bundle savedInstanceState)  
  6.     {  
  7.         super.onCreate(savedInstanceState);  
  8.         // mArgument = getActivity().getIntent().getStringExtra(ARGUMENT);  
  9.         Bundle bundle = getArguments();  
  10.         if (bundle != null)  
  11.             mArgument = bundle.getString(ARGUMENT);  
  12.   
  13.     }  

不同宿主的Fragment数据传递与返回数据

使用Fragment的startActivityForResult,传递过去时因为Fragment存在startActivityForResult和onActivityResult方法,通过Intent的putExtra即可实现数据传递.但是返回数据时, Fragment并不存在setResult方法, 所以依靠 getActivity().setResult()方法达到返回数据的效果(返回数据也是需要创建Intent对象putExtra的).以上就是整个过程, 但是有点需要注意的是,Fragment的onActivityResult是可以直接拿到Intent 对象的, 而接收方的Fragment到底能不能直接拿到发送方的Intent对象呢?

相同宿主的Fragment数据传递与返回数据

现在我们有两个相同宿主的Fragment, 需求是点击某一Fragment内部的点击事件,由这个Fragment传递数据到另一个Fragment.
在发送方创建目标Fragment时, 目标Fragment调用setTargetFragment(),用于记录当前fragment是由别的fragment启动,需要在完成操作后返回数据, 发送方还要创建onActivityResult方法来进行返回数据的接收.
目标Fragment返回数据时创建intent封装好需要传递数据手动调用getTargetFragment().onActivityResult(),发送方即可接收到返回的数据.


版权声明:本文为博主原创文章,随意转载

相关文章推荐

仿淘宝商品详情页,上拉查看更多详情demo(Activity和Fragment)。2种应用场景

仿淘宝商品详情页,上拉查看更多详情demo(Activity和Fragment)。2种应用场景

Android:详情界面左右滑动看更多,ViewPager动态添加Fragment,仿51job详情界面

在项目中遇到一个需求:在邮件列表中任意一个进入邮件详情,在详情界面中,可以左右滑动查看上一条或下一条邮件详情。 界面简单,主要是实现效果 这时我们第一时间想到的就是ViewPag...

使用SwipeRefreshLayout和RecyclerView实现下拉刷新上拉加载更多

效果图: 文件目录 布局文件

pulltorefresh(一)使用介绍,实现下拉刷新上拉加载更多

在Android开发中,上拉刷新,下拉加载在很多项目中被需求着,这个功能具体怎么实现呢,很简单,用一个第三方插件chrisbanes写的android-PullToRefresh库即可了,或者谷歌官方...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:更多关于Fragment的使用
举报原因:
原因补充:

(最多只允许输入30个字)