今天在3.2版本的平板上运行这段代码报出了空指针异常,最终该异常锁定在Listivew的297行

     ListView listview = (ListView)adapterView;     listview.removeHeaderView(headView);//空指针异常

1.其中,adapterView是AdapterView对象,而且adapterView.getAdapter()!=null,listivew!=null,headVIew!=null,listview.getHeadViewCount=1

2.headView是该类的私有对象,在该段代码前指向了一个TextView对象,并且执行了((ListView) adapterView).addHeaderView(textView, R.string.no_data, false);代码

3.该段代码在android系统2.3和4.0,4.2上都没有报错,十分蹊跷。猜想这可能是3.2版本的一个bug,这个异常在3.2上是必现的.由于我机器上没有3.2版本的源码,所以暂时无 法精确定位到源码具体行数。

解决方案:

既然是空指针,那么完全用捕获的方式处理。

try{if(listview != null){   listview.removeHeaderView(headView);}}catch(Exception e){if(Log.D){Log.d(TAG,"do removeHeaderView() Exception-->");}}
最终的效果是,在3.2版本上,捕获到了该异常。但是更奇怪的是,页面显示实际效果是执行了的!(就是说目标listview中的headview是被移除了的)

更多相关文章

  1. android java.lang.IllegalStateException: System services not
  2. android - JNI接口函数 (3)
  3. android版本更新全程解析
  4. Android(Java):jni学习
  5. Android(安卓)Studio Gradle使用笔记
  6. Android(安卓)Studio2.3正式版带SDK安装教程 亲测有效!
  7. Android(安卓)Studio下xUtils开源库导入问题
  8. (一) 基于Windows的Eclipse安装Android(安卓)NDKR7
  9. Android(安卓)WebView Java和JavaScript的交互(一)

随机推荐

  1. CVE-2019-16097 Harbor权限提升漏洞分析
  2. 商业电子邮件诈骗损失已达260亿美元!如何
  3. CCNA最实用的复习知识点(1)
  4. CCNA最实用的复习知识点(2)
  5. CCNA最实用的复习知识点(4)
  6. CCNA最实用的复习知识点(5)
  7. CVE-2019-12922:phpMyAdmin 0 Day漏洞
  8. Session会话与Cookie简单说明
  9. Linux基础课程汇总-辛舒展-专题视频课程
  10. 程序员如何用技术变现(上)