I made a ViewPager/TabLayout app like in this video (everything same, but I don't have AppBarLayout and ImageView): video
But if I want to try the app the debugger says: "Caused by: java.lang.NullPointerException" at line 24
Here's some Code:
MainActivity.java (where the problem is)
TabLayout tablayout;
ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager)findViewById(R.id.viewPager);
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
adapter.addFragment(new FragmentElso(), "Elso");
adapter.addFragment(new FragmentMasodik(), "Masodik");
adapter.addFragment(new FragmentHarmadik(), "Harmadik");
viewPager.setAdapter(adapter);
tablayout.setupWithViewPager(viewPager); *(line 24)*
}
}
Fragments(here's one, but all 3 are exactly the same)
View viewelso;
public FragmentElso() {
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
viewelso = inflater.inflate(R.layout.elso, container, false);
return viewelso;
}
} And here's the ViewPagerAdapter
public final List<Fragment> fragmentList = new ArrayList<>();
public final List<String> FragmentListTitles = new ArrayList<>();
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Override
public int getCount() {
return FragmentListTitles.size();
}
@Override
public CharSequence getPageTitle(int position) {
return FragmentListTitles.get(position);
}
public void addFragment(Fragment fragment, String Title){
fragmentList.add(fragment);
FragmentListTitles.add(Title);
}
}
And I have everywhere the import: android.support.v4.app.Fragment;
In advance thanks for every help!