Android ViewPager和NullObjectReference错误

Android ViewPager和NullObjectReference错误,android,android-layout,android-fragments,android-viewpager,android-adapter,Android,Android Layout,Android Fragments,Android Viewpager,Android Adapter,我在设置ViewPager的适配器时遇到问题。每次我得到一个NullObjectReference错误。我的代码怎么了 1) 布局: 调用viewPager.setAdapter(pagerAdapter)时,我总是会遇到这个错误;行。原因是您的onCreateView。在fragment中,首先需要为fragment膨胀视图,然后从该视图中查找dviewbyd。 您可能会看到以下示例: @Nullable @Override public View onCreateView(LayoutInf

我在设置ViewPager的适配器时遇到问题。每次我得到一个NullObjectReference错误。我的代码怎么了

1) 布局:


调用viewPager.setAdapter(pagerAdapter)时,我总是会遇到这个错误;行。

原因是您的onCreateView。在fragment中,首先需要为fragment膨胀视图,然后从该视图中查找dviewbyd。 您可能会看到以下示例:

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    // Inflate the layout for this fragment
    View rootView = inflater.inflate(R.layout.fragment_food, container, false);

    // get your view by: rootView.findViewById()
    // for example:
    viewPager = (ViewPager) rootView.findViewById(R.id.view_pager);

    // do others...

    return rootView;
}
public class FoodFragment extends Fragment {

Toolbar toolbar;
ViewPager viewPager;
TabsPagerAdapter pagerAdapter;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    setRetainInstance(true);

      ((AppCompatActivity)getActivity())
    .getSupportActionBar().setDisplayShowTitleEnabled(true);
    ((AppCompatActivity)getActivity())
    .getSupportActionBar().setTitle(R.string.food);
    toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
    toolbar.setBackgroundColor(Color.parseColor("#f6a632"));

    pagerAdapter = new    TabsPagerAdapter(getActivity()
   .getSupportFragmentManager());
    viewPager = (ViewPager) getActivity().findViewById(R.id.view_pager);
    viewPager.setAdapter(pagerAdapter);

    return inflater.inflate(R.layout.fragment_food, container, false);
}
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    // Inflate the layout for this fragment
    View rootView = inflater.inflate(R.layout.fragment_food, container, false);

    // get your view by: rootView.findViewById()
    // for example:
    viewPager = (ViewPager) rootView.findViewById(R.id.view_pager);

    // do others...

    return rootView;
}