在android

时间:2015-07-28 10:54:56

标签: java android

我尝试创建滑动标签视图。但是在我的代码中出错了。

这是我的代码:

 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);

有什么建议吗?我应该添加什么,以便它可以正常工作。

我已阅读此链接

  

What is a NullPointerException, and how do I fix it?

但无法理解为什么我的代码可以返回null。当我读取代码时,它应该返回值。

 arguments.putInt(ARG_PAGE, pageNumber);

我拿arg_page号码。所以价值应该在那里。

由于

0 个答案:

没有答案