[英]Set Up Tab Icons Error
public class AllFragments extends Fragment {
private int[] tabIcons = {
R.mipmap.ic_home,
R.mipmap.search_icon,
// R.mipmap.ic_msg,
};
private TabLayout tabLayout;
public static int int_items = 2 ;
private ViewPager viewPager;
public AllFragments() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View x = inflater.inflate(R.layout.fragment_all_fragments, container, false);
tabLayout = (TabLayout) x.findViewById(R.id.tabLayout);
viewPager = (ViewPager) x.findViewById(R.id.viewPG);
tabLayout.setupWithViewPager(viewPager);
setupTabIcons();
return x;
}
private void setupTabIcons() {
tabLayout.getTabAt(0).setIcon(tabIcons[0]);
tabLayout.getTabAt(1).setIcon(tabIcons[1]);
}
private void setupViewPager(ViewPager viewPager) {
AllFragments.ViewPagerAdapter adapter = new AllFragments.ViewPagerAdapter(getFragmentManager());
adapter.addFragment(new HomeF(), "");
adapter.addFragment(new SearchFragment(), "");
viewPager.setAdapter(adapter);
}
class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
public ViewPagerAdapter(android.support.v4.app.FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}}}
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.support.design.widget.TabLayout$Tab android.support.design.widget.TabLayout$Tab.setIcon(int)' on a null object reference at com.example.dell.AllFragments.setupTabIcons(AllFragments.java:47)
由以下原因引起:java.lang.NullPointerException:尝试在com上的空对象引用上调用虚拟方法'android.support.design.widget.TabLayout $ Tab android.support.design.widget.TabLayout $ Tab.setIcon(int)' .example.dell.AllFragments.setupTabIcons(AllFragments.java:47)
I am trying to create a simple tabLayout with icons but the application keeps crushing and Idk why,there are two errors one is this and the second one is in my main class 我试图用图标创建一个简单的tabLayout,但是应用程序不断崩溃,为什么会出现Idk,有两个错误,一个是这个,第二个是在我的主类中
onStart() {
super.onStart();
auth.addAuthStateListener(authListener);}
Can sb tell me where my error is?Thanks in Advance! 可以告诉我我的错误在哪里吗?谢谢!
You have forgotten to call setupViewPager(viewPager);
您忘记了调用
setupViewPager(viewPager);
on onCreateView
在
onCreateView
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.