NullpointerException不显示文件名和行号

时间:2019-06-28 17:38:36

标签: android nullpointerexception

我遇到了问题,我的活动在两个标签之间的df$Liver_Rank <- match(df$TPM, sort(unique(df$TPM), decreasing=F)) 结束时关闭了,我有2个标签,并且为此使用了2个单独的片段。

这是错误堆栈

switching

活动代码

06-28 20:32:18.008 10728-10728/com.mycom.myapp W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getVisibility()' on a null object reference
    06-28 20:32:18.009 10728-10728/com.mycom.myapp W/System.err:     at android.view.ViewRootImpl.getHostVisibility(ViewRootImpl.java:1786)
    at android.view.ViewRootImpl.handleAppVisibility(ViewRootImpl.java:1422)
    at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:4804)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    06-28 20:32:18.009 10728-10728/com.mycom.myapp W/System.err:     at android.os.Looper.loop(Looper.java:214)
    at android.app.ActivityThread.main(ActivityThread.java:7058)
    06-28 20:32:18.009 10728-10728/com.mycom.myapp W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)

FirstFragment代码

public class DummyLsActivity extends AppCompatActivity {

    @BindView(R.id.pager)
    ViewPager pager;
    @BindView(R.id.tablayout)
    TabLayout tabLayout;
    private static DummyLsActivity dummyLsActivity = null;
    LockScreenPagerAdapter myPagerAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_dummy_ls);
        ButterKnife.bind(this);

        tabLayout.addTab(tabLayout.newTab().setText("FirstTab"));
        tabLayout.addTab(tabLayout.newTab().setText("SecondTab"));
        tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);

        myPagerAdapter = new LockScreenPagerAdapter(getSupportFragmentManager(), tabLayout.getTabCount());
        pager.setAdapter(myPagerAdapter);
        tabLayout.setupWithViewPager(pager);

        Window window = getWindow();
        window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
    }

    public static DummyLsActivity getInstance() {
        return dummyLsActivity;
    }

    @Override
    protected void onResume() {
        super.onResume();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }
}

第二片段代码

公共类LsSecondFragment扩展Fragment实现ViewPagerListener {

public class LsFirstFragment extends Fragment {

    Unbinder unbinder;
    View view;
    LsArticlesSharedPreference lsArticlesSharedPreference;

    @BindView(R.id.ls_first_iv)
    ImageView lsFirstIv;
    @BindView(R.id.ls_first_article_head_overlay_tv)
    TextView lsFirstArticleHeadOverlayTv;
    @BindView(R.id.ls_first_swipe_left_tv)
    TextView lsFirstSwipeLeftTv;

    public LsFirstFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_ls_first, container, false);
        unbinder = ButterKnife.bind(this, view);

        lsArticlesSharedPreference = new LsArticlesSharedPreference();
        loadOfflineArticlesData();
        return view;
    }

    public void loadOfflineArticlesData() {
        if (getContext() != null && lsArticlesSharedPreference != null) {
            List<Articles> savedArticles = lsArticlesSharedPreference.getOfflineDataLs(getContext());
            RequestOptions requestOptions = new RequestOptions();
            if (getActivity() != null && savedArticles != null) {
                lsFirstSwipeLeftTv.setVisibility(View.VISIBLE);
                lsFirstArticleHeadOverlayTv.setVisibility(View.VISIBLE);
                Glide.with(getActivity())
                        .setDefaultRequestOptions(requestOptions)
                        .load(savedArticles.get(0).getArticleSecondImage())
                        .thumbnail(Glide.with(getContext()).load(R.drawable.logo_anim_full))
                        .into(lsFirstIv);
                lsFirstIv.setScaleType(ImageView.ScaleType.FIT_XY);
                lsFirstArticleHeadOverlayTv.setText(savedArticles.get(0).getArticleHeading());
            }
        }
    }

    @Override
    public void onResume() {
        super.onResume();
    }


}

它显示 View view; Unbinder unbinder; private LsArticlesAdapter lsArticlesAdapter; LsArticlesSharedPreference lsArticlesSharedPreference; @BindView(R.id.ls_articles_viewpager) ViewPager lsArticlesViewpager; public LsSecondFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment_ls_second, container, false); unbinder = ButterKnife.bind(this, view); lsArticlesSharedPreference = new LsArticlesSharedPreference(); loadOfflineArticlesData(); return view; } @Override public void setViewPager(int position) { lsArticlesViewpager.setCurrentItem(position); } public void loadOfflineArticlesData() { if (getContext() != null && lsArticlesSharedPreference != null) { List<Articles> savedArticles = lsArticlesSharedPreference.getOfflineDataLs(getContext()); if (savedArticles != null && savedArticles.size() == 0) { loadOfflineArticlesData(); } else { System.out.println("STORY IS CALLED FIRST"); lsArticlesAdapter = new LsArticlesAdapter(getContext(), savedArticles); lsArticlesViewpager.setAdapter(lsArticlesAdapter); lsArticlesAdapter.notifyDataSetChanged(); } } } @Override public void onResume() { super.onResume(); } } getVisibility()Attempt to call virtual methodon a,但事实是,我没有在整个项目的任何地方使用object reference。有人可以指出相同的原因。

0 个答案:

没有答案
相关问题