在 ViewPager 中获取 NullPointerException

get NullPointerException in ViewPager

public class News extends Fragment {
    private View view;
    private ListView listView;
    private JSONObject jsonObject;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        view=inflater.inflate(R.layout.news_fragment,container,false);
        listView= (ListView) view.findViewById(R.id.listView);
        setHasOptionsMenu(true);
        return view;
    }

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser){
            if (isVisibleToUser) getActivity().getActionBar().setTitle(getResources().getStringArray(R.array.homeMenuItems)[4]);
            MyCreate();
        }
    }

    public void MyCreate(){
        listView.setAdapter(new BaseAdapter() {
            @Override
            public int getCount() {
                return 6;
            }

            @Override
            public Object getItem(int position) {
                return null;
            }

            @Override
            public long getItemId(int position) {
                return 0;
            }

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                if (convertView==null){
                    convertView=getActivity().getLayoutInflater().inflate(R.layout.news_adapter,null);
                }
                return convertView;
            }
        });
    }
}

当你启动它时,你得到这个错误:

java.lang.NullPointerException
    at com.EraNewGames.Elbase.homeFragments.News.setUserVisibleHint(News.java:38)
    at android.support.v4.app.FragmentPagerAdapter.setPrimaryItem(FragmentPagerAdapter.java:130)
    at android.support.v4.view.ViewPager.populate(ViewPager.java:1103)
    at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:551)
    at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:513)
    at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:505)
    at com.EraNewGames.Elbase.HomeActivity.onItemClick(HomeActivity.java:92)

我意识到这个错误是如何出现的,问题误传为 listView 丢失了 link。 但是然后呢...不仅我必须使用 Fragments 是的,所以不要创建左右片段,因为每个片段都是使用 Internet 的方法。 这是额外的流量。 事实并非如此,我决定检查 window 是否处于活动状态然后使用它。

为什么 ListView 得到 NullPointerException

setUserVisibleHint()在onCreateView()之前被调用,因此列表视图没有被初始化。