【问题标题】:Update fragment content based on tab index in android app基于 android 应用中的标签索引更新片段内容
【发布时间】:2016-12-20 13:37:37
【问题描述】:

在我的应用程序中,我有一个包含 12 个选项卡的选项卡控件。每个选项卡都有相同的片段,但每个选项卡中的内容会有所不同。 Fragment 将有一个图像控件和一个 TextView。 如何根据标签索引分配不同的片段内容(图像和文本)。我将所有 12 个图像和文本都存储在资源文件中。

提前致谢, IamHuM

【问题讨论】:

  • 您使用的是哪个标签控制器?
  • 我在我的活动中使用 'android.support.design.widget.TabLayout' 控件。

标签: android android-layout android-fragments tabs


【解决方案1】:

您可以将一个片段与一种布局一起使用。 在 onCreateView 中填充数据。

提示: 使用自定义方法创建片段以将数据传递到。

MyFragment.newInstance(imageUrl, title)

【讨论】:

    【解决方案2】:

    在您的FragmentStatePagerAdapter(或任何适配器)中,您可以创建新的片段,并使用构造函数来区分它们。使用构造函数的好处在于您不仅可以使用索引号来设置它们:

    public class MyPagerAdapter extends FragmentStatePagerAdapter {
        private static int PAGES = 3;
        private Fragment[] mFragments;
    
    
        public MyPagerAdapter(FragmentManager fm) {
            super(fm);
            mFragments = new Fragment[PAGES];
            mFragments[0] = new MyFragment(0);
            mFragments[1] = new MyFragment(1);
            mFragments[2] = new MyFragment(2);
        }
    
    
        @Override
        public Fragment getItem(int position) {
            return mFragments[position];
        }
    
        @Override
        public int getCount() {
            return PAGES;
        }
    }
    

    然后是你的片段:

    public class MyFragment extends Fragment {
        private int mData;
    
        public MyFragment(int data) {
            mData = data;
        }
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            ViewGroup rootView = (ViewGroup) inflater.inflate(
                    R.layout.fragment_layout, container, false);
    
            return rootView;
        }
    }
    

    我的参考:https://developer.android.com/training/implementing-navigation/lateral.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多