我是靠谱客的博主 超帅水壶,最近开发中收集的这篇文章主要介绍activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  今天遇到挺纠结的问题,由于产品设计的问题,技术上涉及到activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI。
  
  其中一级fragment中有顶部搜索栏,搜索栏下面有viewpager+fragment的布局,搜索栏输入内容后要更新子当前页面的fragment的搜索方法,并刷新UI.
  
  adapter:

private class OrderManagerFragmentPagerAdapter extends FragmentPagerAdapter {
        public OrderManagerFragmentPagerAdapter(FragmentManager fm) {
            super(fm);
        }


        @Override public Fragment getItem(int position) {
            switch (position) {
                case 0:
                    return NewOrderFragment.newInstance();
                case 1:
                    return FollowingFragment.newInstance();
                case 2:
                    return DesperatelyFollowingFragment.newInstance();
                case 3:
                    return RobbedFragment.newInstance();
                case 4:
                    return TransferFragment.newInstance();
                case 5:
                    return ClinchDealFragment.newInstance();
                case 6:
                    return LostFragment.newInstance();
                case 7:
                    return NoEffectFragment.newInstance();
                default:
                    return null;
            }
        }


        @Override public CharSequence getPageTitle(int position) {
            return TITLES[position % TITLES.length];
        }


        @Override public int getCount() {
            return TITLES.length;
        }
    }

  调用adapter的getitem()并调用子当前页面的fragment的搜索方法,并刷新UI,但是出错,子fragment中UI组件为null,adapter为null;
  
  正确调用姿势为:

 int    position   = pager.getCurrentItem();
        String searchWord = searchtv.getSearchWord();
        //两层fragment嵌套,调用指定fragment的刷新操作,fuck,这方法找了好几天
        Fragment fragment = getChildFragmentManager().getFragments().get(position);

获取当前显示的子fragment,然后调用子fragment的搜索方法,并刷新UI.,完美实现。


 

  2016年2月26日21:23:21更
  
  由于这里获取子fragment,需要进行强制类型转换,因此有可能出现ClassCastException,所以需要在switch语句外面进行try catch操作进行异常情况的处理。

转载于:https://www.cnblogs.com/androidsuperman/p/5212095.html

最后

以上就是超帅水壶为你收集整理的activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI...的全部内容,希望文章能够帮你解决activity 嵌套一级fragment,一级fragment嵌套二级fragment,在一级fragment中刷新二级fragment中的UI...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部