问答详情
源自:4-5 屏幕旋转处理与小结

关于适配器创建Fragment的问题

视频中是在getitem中创建的gragment,如果我像添加不同的fragment应该怎样写?

TabFragment fragment = TabFragment.newInstance(mTitles.get(i));
return fragment;
这样只是换了Fragment的标题,如果不同布局的Fragment应该怎样写?
对应的
public Object instantiateItem(@NonNull ViewGroup container, int position) {
    Fragment fragment = (Fragment) super.instantiateItem(container, position);
    mFragment.put(position, fragment);
    return fragment;
}这个方法又怎样写?
自己动手改了一下不对


提问者:慕婉清Hl 2019-09-07 18:19

个回答

  • LF薰衣草
    2020-04-13 22:49:48

    个人想法是,如果你想添加不同的fragment,肯定有不同的布局,所以一个fragment类是不够的,你可以将你创建的不同的fragment类实例化后添加到一个列表list中,然后再重写getItem方法时 return list.get(position)

  • qq_纯粹_3
    2019-09-23 10:55:42

    前面说又问题  如果你想要适配不同的xml的话,在使用databinding的情况下,需要提前定义。否则就会报错。

    类似于这样
    http://img3.mukewang.com/5d8834140001bfb113030662.jpg

  • qq_纯粹_3
    2019-09-19 14:59:26

    我知道了 你要在new的时候 或者 初始化的时候 传入布局资源id 然后inflate使用这个id就可以了

  • qq_纯粹_3
    2019-09-19 14:21:52

    我也想知道