NullPointerException: android.support.v4.app.FragmentHostCallback.getHandler()在空对象引用上。
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页作为页面限制。还需要向适配器添加片段吗?
更多相关文章
- 一篇不错的Android Audio架构代码梳理总结
- demo_代码注册广播接受者_Service
- Android学习笔记--《第一行代码Android》273页代码解密
- Linux下 使用Repo和Git下载Android源代码并编译
- Eclipse默认标签TODO,XXX,FIXME和自定义标签[转]
- Java已经启动,但是返回的退出代码=13 eclipse [duplicate]
- MD5加密,java工具类 String 转变成MD5 String 详细代码,工具类And
- Android有用的代码片段
- Robotium用例通过代码自动解锁屏幕