NullPointException-TabWidget.focusCurrentTab(TabWidget.java:401)
来源:互联网 发布:产品网络推广怎么做 编辑:程序博客网 时间:2024/06/01 10:46
错误提示如下:
AndroidRuntime(4437): java.lang.NullPointerExceptionAndroidRuntime(4437): at android.widget.TabWidget. focusCurrentTab(TabWidget.java:401)AndroidRuntime(4437): at android.widget.TabHost. setCurrentTab(TabHost.java:381)AndroidRuntime(4437): at android.widget.TabHost$2. onTabSelectionChanged(TabHost.java:175)AndroidRuntime(4437): at android.widget.TabWidget$ TabClickListener.onClick(TabWidget.java:487)AndroidRuntime(4437): at android.view.View. performClick(View.java:2640)
错误提示范围
Android手机 系统版本2.3.7及2.3.7以下
错误原因
获取不到TabWidget中的ChildView,抛出空指针异常。
提醒
TabWidget中的text以及下划线属于TabWidget的子View,而在查找子View时,如果所有TabWidget都设置了text和下划线的话,一个TabWidget算有2个子View.
错误分析
Android 源码2.3.7及2.3.7以前,TabWidget中的getChildTabViewAt(int index)源码如下:
public View ..getChildTabViewAt(int index) { // If we are using dividers, then instead of tab views at 0, 1, 2, ... // we have tab views at 0, 2, 4, ... if (mDividerDrawable != null) { index *= 2; } return getChildAt(index); }
假如我们项目中设置了mDividerDrawable又没用,导致点击第三个tab(或者其他TabWidget,排除第1个TabWidget)的时候,index=2*3=6,导致找不到childView.
错误解决办法
删掉多余的代码TabWidget.setDividerDrawable();
错误扩展
为何4.x.x以上系统不会抛出该异常呢?
Android 源码4.x.x以上系统,TabWidget中的getChildTabViewAt(int index)源码如下:
public View More ...getChildTabViewAt(int index) { return getChildAt(index); }
0 0
- NullPointException-TabWidget.focusCurrentTab(TabWidget.java:401)
- TabWidget
- TabWidget
- Tabwidget- TabWidget选择标签
- android.widget.TabWidget.dispatchDraw(TabWidget.java:216)错误分析
- TabWidget 应用
- TabHost,TabWidget
- Android TabWidget
- Android TabWidget
- 自定义TabWidget
- 简单 TabWidget
- tabwidget.h
- tabwidget.cpp
- pyqt5 TabWidget
- tabwidget用法
- java.lang.NullPointerException at android.widget.TabWidget.dispatchDraw(TabWidget.java:206)
- Android 之 TabWidget
- Android TabWidget设计模板
- 【转】移除ios自带button样式
- js获取鼠标焦点位置并选中一部分文字
- 为什么学习Java三大框架SSH与MVC的设计模式
- 活期理财每日计算利率
- ==与===的区别
- NullPointException-TabWidget.focusCurrentTab(TabWidget.java:401)
- C++ string类:find()和find_first_of()
- Windows 驱动开发资源链接
- iOS _查询所剩内存和所剩存储空间的方法
- Git使用教程
- 107. Binary Tree Level Order Traversal II
- BugTrap:程序崩溃快照、bug跟踪之利器
- x264 FFmpeg Options Guide
- $(function(){})和$(document).ready(function(){})