-2

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!

1 Answers1

1

You didn't initialized your TableLayout, so it's is null. Take a look at 19:21 of the video.

Belbahar Raouf
  • 760
  • 1
  • 4
  • 17