I am facing following issue.

我正面临以下问题。

Scenario:

场景:

For the very first time when I signup thru app, I am able to see tabs and there content but when I logout and try to login for the same code for viewpager i get following exception:

我第一次通过app注册时,我可以看到标签和内容,但当我登出并尝试为viewpager登录相同的代码时,我遇到了以下例外:

NullPointerException: Attempt to invoke virtual method 'android.os.Handler android.support.v4.app.FragmentHostCallback.getHandler()' on a null object reference

NullPointerException:尝试调用虚拟方法的android.os。处理器android.support.v4.app.FragmentHostCallback.getHandler()'在空对象引用上。

but when open navigation menu and select after that I get data and tabs are shown viewpager shows tabs.

但是当打开导航菜单并选择之后,我得到了数据,标签显示了viewpager显示了标签。

Contents: I have 2 tabs

内容:我有两个标签。

Below is my code:

下面是我的代码:

 public void setupDashboardTabs(List<CreateFragmentsPojo> fragments) {
    this.fragments = fragments;

    viewPager = (ViewPager) findViewById(R.id.viewpager); 
    viewPager.setOffscreenPageLimit(3);

    setupDashboardViewPager(fragments);

    tabLayout = (TabLayout) findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);

    setUpFontStyleForTabs();
}


public void setupDashboardViewPager(List<CreateFragmentsPojo> fragments) {
    try {
        ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());

        for (int i = 0; i < fragments.size(); i++) {
            adapter.addFragment(fragments.get(i).getFragment(), fragments.get(i).getTitle());
        }
        viewPager.setAdapter(adapter);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

viewPager.setAdapter(adapter); getting nullpointer execption at this line

viewPager.setAdapter(适配器);在这一行获取nullpointer执行

Code to logout:

代码注销:

 Intent intent = new Intent(this, LoginActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
    finish();

Stacktrace:

加:

java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Handler android.support.v4.app.FragmentHostCallback.getHandler()' on a null object reference
 W/System.err:     at android.support.v4.app.FragmentManagerImpl.ensureExecReady(FragmentManager.java:1949)
 W/System.err:     at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1965)
 W/System.err:     at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:620)
 W/System.err:     at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:166)
 W/System.err:     at android.support.v4.view.ViewPager.setAdapter(ViewPager.java:513)
 W/System.err:     at io.skreem.dashboard.DashboardActivity.setupDashboardViewPager(DashboardActivity.java:459)
 W/System.err:     at io.skreem.dashboard.DashboardActivity.setupDashboardTabs(DashboardActivity.java:443)
 W/System.err:     at io.skreem.dashboard.DashboardActivity$4.onResponse(DashboardActivity.java:408)
 W/System.err:     at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68)
 W/System.err:     at android.os.Handler.handleCallback(Handler.java:746)
 W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:95)
 W/System.err:     at android.os.Looper.loop(Looper.java:148)
 W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:5443)
 W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
 W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
 W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

2 个解决方案

#1


0

viewPager.setOffscreenPageLimit(3);

viewPager.setOffscreenPageLimit(3);

is the problem. As you have 2 tabs. Which means 2 pages but you are forcing 3 as the PageLimit. Also whats the need of adding fragment to adapter?

是这个问题。因为你有两个标签。这意味着2页,但你强迫3页作为页面限制。还需要向适配器添加片段吗?

更多相关文章

  1. 一篇不错的Android Audio架构代码梳理总结
  2. demo_代码注册广播接受者_Service
  3. Android学习笔记--《第一行代码Android》273页代码解密
  4. Linux下 使用Repo和Git下载Android源代码并编译
  5. Eclipse默认标签TODO,XXX,FIXME和自定义标签[转]
  6. Java已经启动,但是返回的退出代码=13 eclipse [duplicate]
  7. MD5加密,java工具类 String 转变成MD5 String 详细代码,工具类And
  8. Android有用的代码片段
  9. Robotium用例通过代码自动解锁屏幕

随机推荐

  1. Manage Android source code like source
  2. Android下获取设备唯一标识(UDID, Device
  3. Android 面试题之基础(不断更新)
  4. Android碰到的问题之一
  5. 隐藏的数字咪咪
  6. android 抖动原理
  7. android利用Handler开启线程和关闭线程
  8. Android(安卓)定制RadioButton样式
  9. Android(安卓)文件下载三种基本方式
  10. as android 打包