我尝试创建滑动标签视图。但是在我的代码中出错了。
这是我的代码:
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;
}
}
我找不到如何解决它。错误在第85行:
int pageNumber = arguments.getInt(ARG_PAGE);
有什么建议吗?我应该添加什么,以便它可以正常工作。
我已阅读此链接
但无法理解为什么我的代码可以返回null。当我读取代码时,它应该返回值。
arguments.putInt(ARG_PAGE, pageNumber);
我拿arg_page号码。所以价值应该在那里。
由于