I try to create swipe tabs view. But got an error within my code.
Here is my code:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third);
mAdapter = new MyPagerAdapter(getSupportFragmentManager());
mToolbar = (Toolbar) findViewById(R.id.app_bar);
setSupportActionBar(mToolbar);
mTabLayout = (TabLayout) findViewById(R.id.tab_layout);
mPager = (ViewPager) findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
mTabLayout.setTabsFromPagerAdapter(mAdapter);
mTabLayout.setupWithViewPager(mPager);
mPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(mTabLayout));
}
public static class MyFragment extends Fragment {
public static final String ARG_PAGE = "arg_page";
public MyFragment() {
}
public static MyFragment newInstance(int pageNumber) {
MyFragment myFragment = new MyFragment();
Bundle arguments = new Bundle();
arguments.putInt(ARG_PAGE, pageNumber);
myFragment.setArguments(arguments);
return myFragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Bundle arguments = getArguments();
int pageNumber = arguments.getInt(ARG_PAGE);
TextView myText = new TextView(getActivity());
myText.setText("Hello, " + pageNumber);
myText.setGravity(Gravity.CENTER);
return myText;
}
}
public class MyPagerAdapter extends FragmentStatePagerAdapter {
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
public Fragment getItem(int position) {
ThirdActivity.MyFragment myFragment = new ThirdActivity.MyFragment();
return myFragment;
}
@Override
public int getCount() {
return 10;
}
@Override
public CharSequence getPageTitle(int position) {
return "Tab" + position;
}
}
I can't find how to fix it. the error is on line 85:
int pageNumber = arguments.getInt(ARG_PAGE);
Any suggestion? What should i add so it can work properly.
I've read this link
but can't get it why my code can return null. when i read the code it should return the value.
arguments.putInt(ARG_PAGE, pageNumber);
and i take the arg_page number. so the value should be there.
Thanks