Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了带视图寻呼机的Android MVP大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的 android项目中实现MVP.但是当我使用viewPagerAdapter实现MVP时,我遇到了困难.为了实现MVP,我们习惯在Activity类中创建片段/视图和演示者实例.片段/视图和演示者都将使用契约相互通信.通过这种方式,我们将视图与演示者分离,并使用单元测试覆盖所有业务逻辑.但是,如果我们有内部活动的tablayout.我们在fragmentPagerAdapter中启动了片段.我不确定,如何为其相应的演示者提供制表符片段/视图引用.如果我在fragmentPagerAdapter中初始化presenter,它将漂白SRP(单一责任主体).如果我们在Fragment中创建将生成耦合代码的presenter实例,那么我们就不需要联系来建立片段和演示者之间的通信.请提供架构解决方案,以便我可以使用视图寻呼机实现相同的MVP,同时遵守所有干净的代码主体.

作为参,请在下面找到我的适配器代码,我正在为选项卡初始化片段:

@Override
    public Fragment getItem(int position) {

        switch (position) {
            case 0:
                return getConfigurationsTabFragment();
            case 1:
                return updateTabFragment.newInstance();
            case 2:
                return serviCETabFragment.newInstance();
            default:
                return null;
        }
    }

解决方法@H_675_13@
private class MyAdapter extends FragmentPagerAdapter {
        private final List<Fragment> mFragmentList = new ArrayList<>();

        public MyAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            return mFragmentList.get(position);
        }

        @Override
        public int getCount() {
            return mFragmentList.size();
        }
        public void addFragement(Fragment fragment){
            mFragmentList.add(fragment);
        }
    }

在活动中使用它:

@H_256_9@myAdapter adapter = new MyAdapter(getChildFragmentManager()); Fragment fragment1 = EmptyFragment.newInstance("this is page 1"); Fragment fragment2 = EmptyFragment.newInstance("this is page 2"); presenter1.setxxx(fragment1); presenter2.setxxx(fragment2); adapter.addFragement(fragment1); adapter.addFragement(fragment2); viewPager.setAdapter(adapter);

大佬总结

以上是大佬教程为你收集整理的带视图寻呼机的Android MVP全部内容,希望文章能够帮你解决带视图寻呼机的Android MVP所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。