侧滑菜单的页面 动态填充给 新闻页面

在菜单的Fragment中创建这个方法:

我的布局有些复杂 我就不画了 我自己也头疼已经11个页面了 还好脑袋里有图,我没画图工具要不画给大家了

    /**
     * 切换菜单详情页页面
     * 
     * @param position
     */
    protected void setCurrentMenuDetailPager(int position) {
        // 获取新闻中心对象NewsCenterPager
        // 1.先获取MainActivity,
        // 2.通过MainActiivty获取ContentFragment
        // 3.通过ContentFragment获取NewsCenterPager
        MainActivity mainUI = (MainActivity) mActivity;
        ContentFragment contentFragment = mainUI.getContentFragment();
        NewsCenterPager newsCenterPager = contentFragment.getNewsCenterPager();

        // 给新闻中心页面的FrameLayout填充布局
        newsCenterPager.setCurrentMenuDetailPager(position);
    }

其实这个方法就是传一个position给填充的页面 让 填充的页面来处理填充

下载来看 news页面(就是要填充的页面),这个页面初始化了菜单页面的4个选项页面 这4个页面将要填充再news页面,

        // 初始化4个菜单详情页
        mMenuDetailPagers = new ArrayList<BaseMenuDetailPager>();
        mMenuDetailPagers.add(new NewsMenuDetailPager(mActivity,
                mNewsMenuData.data.get(0).children));
        mMenuDetailPagers.add(new TopicMenuDetailPager(mActivity));
        mMenuDetailPagers.add(new PhotosMenuDetailPager(mActivity));
        mMenuDetailPagers.add(new InteractMenuDetailPager(mActivity));

        // 菜单详情页-新闻作为初始页面
        setCurrentMenuDetailPager(0);

下面就是填充的方法

// 给新闻中心页面的FrameLayout填充布局
    protected void setCurrentMenuDetailPager(int position) {
        BaseMenuDetailPager pager = mMenuDetailPagers.get(position);
        // 移除之前所有的view对象, 清理屏幕
        flContent.removeAllViews();
        flContent.addView(pager.mRootView);
        pager.initData();// 初始化数据

        // 更改标题
        tvTitle.setText(mNewsMenuData.data.get(position).title);
    }
原文地址:https://www.cnblogs.com/AceIsSunshineRain/p/5187159.html