Skip to content

hello,xtablayout fragment 出错 #4

@molele2

Description

@molele2

public class HomeFragment extends Fragment {

private View viewContent;
private XTabLayout tabLayout;
private ViewPager viewPager;

private BadgeView redDotBadgeView;
private BadgeView redNumberBadgeView;

private String[] strArray = new String[]{"关注", "推荐", "视频", "直播", "图片", "段子", "精华", "热门"};

private List<String> stringList = new ArrayList<>();
private List<Fragment> fragmentList = new ArrayList<>();

// private ViewPager viewPager;
// private XTabLayout topTabLayout;
// private BadgeView redDotBadgeView;
// private BadgeView redNumberBadgeView;
//
// private String[] strArray = new String[]{"关注", "推荐", "视频", "直播", "图片", "段子", "精华", "热门"};
//
// private List stringList = new ArrayList<>();
// private List fragmentList = new ArrayList<>();
//
public static HomeFragment instance() {
HomeFragment instance = new HomeFragment();
return instance;
}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    viewContent = inflater.inflate(R.layout.fragment_home, container, false);
    initData();
    initViews();
    return viewContent;
}

private void initViews() {
    tabLayout = viewContent.findViewById(R.id.tabsFive);
    viewPager = viewContent.findViewById(R.id.viewPager);

    initData();
    IndexPagerAdapter indexPagerAdapter = new IndexPagerAdapter(getFragmentManager(),stringList,fragmentList);
    viewPager.setAdapter(indexPagerAdapter);

    viewPager.setAdapter(indexPagerAdapter);
    tabLayout.setupWithViewPager(viewPager);
    tabLayout.setSelectedTabIndicatorHeight(0);

}

private void initData() {
    stringList.addAll(Arrays.asList(strArray));
    fragmentList.add(new HomeFragment());
    fragmentList.add(new EmptyFragment());
    fragmentList.add(new EmptyFragment());
    fragmentList.add(new EmptyFragment());
    fragmentList.add(new EmptyFragment());
    fragmentList.add(new EmptyFragment());
    fragmentList.add(new EmptyFragment());
    fragmentList.add(new EmptyFragment());
}

class IndexPagerAdapter extends FragmentPagerAdapter {
    private List<String> titleList;

    public IndexPagerAdapter(FragmentManager fm, List<String> titleList, List<Fragment> fragmentList) {
        super(fm);
        this.titleList = titleList;
    }

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

    @Override
    public int getCount() {
        return titleList.size();
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return titleList.get(position);
    }
}

public static int dip2px(Context context, float dpValue) {
    final float scale = context.getResources().getDisplayMetrics().density;
    return (int) (dpValue * scale + 0.5f);
}

}

NullPointerException: Attempt to invoke virtual method 'void android.support.v4.app.Fragment.setMenuVisibility(boolean)' on a null object reference

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions