今天在项目开发中碰到了这样一个问题:

  项目在Nexus5【Android 6.0】上面运行正常,在华为荣耀6【Android 4.4.2】上面运行到指定activity崩溃(不是应用启动崩溃);然后后台日志报错:

  1. 07-26 17:58:44.030: D/AndroidRuntime(10889): Shutting down VM
  2. 07-26 17:58:44.030: W/dalvikvm(10889): threadid=1: thread exiting with uncaught exception (group=0x40fca9a8)
  3. 07-26 17:58:44.050: E/AndroidRuntime(10889): FATAL EXCEPTION: main
  4. 07-26 17:58:44.050: E/AndroidRuntime(10889): java.lang.NullPointerException
  5. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.widget.ScrollBarDrawable.setAlpha(ScrollBarDrawable.java:221)
  6. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.onDrawScrollBars(View.java:11439)
  7. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.draw(View.java:13809)
  8. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.widget.FrameLayout.draw(FrameLayout.java:467)
  9. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.widget.ScrollView.draw(ScrollView.java:1579)
  10. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12741)
  11. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12785)
  12. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.draw(View.java:13519)
  13. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewGroup.drawChild(ViewGroup.java:3019)
  14. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2883)
  15. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12739)
  16. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12785)
  17. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.draw(View.java:13519)
  18. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewGroup.drawChild(ViewGroup.java:3019)
  19. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2883)
  20. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.draw(View.java:13806)
  21. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12741)
  22. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12785)
  23. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.draw(View.java:13519)
  24. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewGroup.drawChild(ViewGroup.java:3019)
  25. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:1089)
  26. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2883)
  27. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12739)
  28. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12785)
  29. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.draw(View.java:13519)
  30. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewGroup.drawChild(ViewGroup.java:3019)
  31. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2883)
  32. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12739)
  33. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12785)
  34. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.draw(View.java:13519)
  35. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewGroup.drawChild(ViewGroup.java:3019)
  36. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2883)
  37. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12739)
  38. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12785)
  39. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.draw(View.java:13519)
  40. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewGroup.drawChild(ViewGroup.java:3019)
  41. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2883)
  42. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.draw(View.java:13806)
  43. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.widget.FrameLayout.draw(FrameLayout.java:467)
  44. 07-26 17:58:44.050: E/AndroidRuntime(10889): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2240)
  45. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12741)
  46. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.View.getDisplayList(View.java:12785)
  47. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1249)
  48. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2480)
  49. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2340)
  50. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2142)
  51. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1139)
  52. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4879)
  53. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:776)
  54. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.Choreographer.doCallbacks(Choreographer.java:579)
  55. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.Choreographer.doFrame(Choreographer.java:548)
  56. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:762)
  57. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.os.Handler.handleCallback(Handler.java:725)
  58. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.os.Handler.dispatchMessage(Handler.java:92)
  59. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.os.Looper.loop(Looper.java:153)
  60. 07-26 17:58:44.050: E/AndroidRuntime(10889): at android.app.ActivityThread.main(ActivityThread.java:5299)
  61. 07-26 17:58:44.050: E/AndroidRuntime(10889): at java.lang.reflect.Method.invokeNative(Native Method)
  62. 07-26 17:58:44.050: E/AndroidRuntime(10889): at java.lang.reflect.Method.invoke(Method.java:511)
  63. 07-26 17:58:44.050: E/AndroidRuntime(10889): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
  64. 07-26 17:58:44.050: E/AndroidRuntime(10889): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
  65. 07-26 17:58:44.050: E/AndroidRuntime(10889): at dalvik.system.NativeStart.main(Native Method)
  66. 07-26 17:58:44.245: I/System.out(10889): [CDS]close[39632]
  67. 07-26 17:58:44.245: I/System.out(10889): close [socket][/0.0.0.0:39632]
  68. 07-26 17:58:44.246: I/System.out(10889): close [socket][/0.0.0.0:39632]
  69. 07-26 17:58:44.712: D/dalvikvm(10889): threadid=20: interp stack at 0x54535000

问题原因:

scrollView中嵌套RecyclerView导致的。(为什么要在scrollView中嵌套RecyclerView,因为想要实现RecyclerVIew和上面的消息区域一块滑动)。

  1. <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:id="@+id/layout_home"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:fillViewport="true"
  6. android:scrollbarSize="2dp"
  7. android:scrollbarThumbVertical="@null"
  8. android:scrollbars="vertical" >
  9.  
  10. <LinearLayout
  11. android:layout_width="match_parent"
  12. android:layout_height="wrap_content"
  13. android:orientation="vertical" >
  14.  
  15. <!-- 消息/公告区域 -->
  16. <include layout="@layout/activity_home_message" />
  17.  
  18. <!-- RecyclerView列表 -->
  19. <android.support.v7.widget.RecyclerView
  20. android:id="@+id/home_gridview"
  21. android:layout_width="match_parent"
  22. android:layout_height="match_parent"
  23. android:layout_marginLeft="@dimen/home_grid_margin"
  24. android:layout_marginRight="@dimen/home_grid_margin"
  25. android:cacheColorHint="#00000000"
  26. android:divider="@null"
  27. android:listSelector="#00000000"
  28. android:overScrollMode="never"
  29. android:scrollbars="none" />
  30. </LinearLayout>
  31.  
  32. </ScrollView>

解决方案:

去掉ScrollView。

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:id="@+id/layout_home"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:fillViewport="true"
  6. android:scrollbarSize="2dp"
  7. android:scrollbarThumbVertical="@null"
  8. android:scrollbars="vertical" >
  9.  
  10. <!-- 消息/公告区域 -->
  11. <include layout="@layout/activity_home_message" />
  12.  
  13. <!-- RecyclerView列表 -->
  14. <android.support.v7.widget.RecyclerView
  15. android:id="@+id/home_gridview"
  16. android:layout_width="match_parent"
  17. android:layout_height="match_parent"
  18. android:layout_marginLeft="@dimen/home_grid_margin"
  19. android:layout_marginRight="@dimen/home_grid_margin"
  20. android:cacheColorHint="#00000000"
  21. android:divider="@null"
  22. android:listSelector="#00000000"
  23. android:overScrollMode="never"
  24. android:scrollbars="none" />
  25.  
  26. </LinearLayout>

threadid=1: thread exiting with uncaught exception (group=0x40fca9a8)的问题的更多相关文章

  1. threadid=1: thread exiting with uncaught exception (group=0x40db8930)

    异常信息如下: 07-26 17:23:49.521: W/dalvikvm(29229): threadid=1: thread exiting with uncaught exception (g ...

  2. threadid=1: thread exiting with uncaught exception (group=0xb2a86d70)

    这个错误是程序运行成功,但是一在虚拟机上运行就报“停止运行了”,如图: 然后我们查看一个日志信息: 查了好久,终于 搞好了,原因是安卓目标SDK版本太高了,我这里创建好默认是这样的如图: 只要把21改 ...

  3. threadid=1: thread exiting with uncaught.exception ......解决方法

     threadid=1: thread exiting with uncaught exception (group=0x40015560)E/AndroidRuntime(285): FATAL E ...

  4. ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread

    ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[appclient-registration-retr ...

  5. 在运行Hibernate Hello World程序的时候,抛如下错误: view plain Exception in thread "main" org.hibernate.exception.LockAcquisitionException 解决方法

    在运行Hibernate Hello World程序的时候,抛如下错误: Exception in thread "main" org.hibernate.exception.Lo ...

  6. meteor报错之:MongoDB had an unspecified uncaught exception.

    今天测试的时候meteor报了个错 如下: MongoDB had an unspecified uncaught exception. This can be caused by MongoDB b ...

  7. iOS- Terminating app due to uncaught exception 'NSRangeException'

    错误描述: Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM object ...

  8. windows redis:Uncaught exception 'RedisException' with message 'Redis server went away'

    window-exe-redis-2.8.12服务,当你复制好php_igbinary.dll,php_redis.dll时候,你运行redis报错:Fatal error: Uncaught exc ...

  9. Terminating app due to uncaught exception 'NSUnknownKeyException' this class is not key value coding-compliant for the key

     Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ViewController > se ...

随机推荐

  1. No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so ,needed by '../bin/generate_pointcloud解决方法

    这是/usr/lib/x86_64-linux-gnu/文件夹内没有这个libproj.so 库,先在该文件夹内搜索是否有同名不同版本的库,如果有 ,可以使用ln -s在该文件夹内部对存在的库链接到一 ...

  2. Python从入门到精通之Third!

    Python运算符 算数运算符:+    -    *   /     %    //    **  比较运算符:==    >     <     >=   大于等于      & ...

  3. Linux学习---类型修饰符

    auto eg:aoto int a;   默认情况--------->分配的内存可读可写的区域. register eg:register int a; 限制变量定义在寄存器上的修饰符 定义一 ...

  4. JAVA常用集合

    List: ArrayList: 基于动态数组的有序集合.优点:可以根据索引index下标访问List中的元素,访问速度快:缺点是访问和修改中间位置的元素时慢(数组尾部插入元素以外). LinkedL ...

  5. opencv2.4.13+python2.7学习笔记--OpenCV中的图像处理--图像轮廓

    阅读对象:无要求. 1.代码 ''' OpenCV中的轮廓 轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度.为了更加准确,要使用二值化图像.在寻找轮廓之前,要进行阈值化 ...

  6. Normalize.css & Reset

    Normalize.css: try to keep the style consistent in every browser. Reset: clear style in every browse ...

  7. U-Boot bootargs简析

    Linux内核启动时需要一些配置信息,如根文件系统的类型.flash分区情况.串口终端的编号.内存的使用情况等等,而由于U-Boot和Linux Kernel的镜像是独立的两个文件,所以只能两者约定好 ...

  8. EasyUI 学习(1)-Tooltip(提示框)

    一.创建组件 Tooltip不依赖其他组件 1.使用class加载 <a href="#" class="easyui-tooltip" title=&q ...

  9. JavaScript基础学习笔记整理

    1.关于JS: (1)脚本语言——不需要编译的语言(常见有cmd,t-sql)----解释性语言; (2)动态类型的语言——1.代码只有执行到那个位置才知道那个变量中存储的是什么 2.对象中没有某个属 ...

  10. Flask框架(一)

    from flask import Flask app = Flask(__name__) @app.route('/') def index(): return '<h1>hello w ...