【问题标题】:Android "Error inflating class ImageView" on older devices?旧设备上的Android“错误膨胀类ImageView”?
【发布时间】:2016-09-03 17:59:33
【问题描述】:

我有一个回收站视图,其中每个元素都有一个图像。有时这是空白的,有时这是一个占位符,有时这是通过毕加索检索到的图像。在模拟器和运行 Marshmallow 的两台设备上运行良好。分别在 4.3 和 4.4.2 的两台设备(三星 S3 和 Galaxy Tab 3 8.0)上根本无法工作。我收到以下错误:

android.view.InflateException: Binary XML file line #103: Error inflating class ImageView
                                                                      at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:719)
                                                                      at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
                                                                      at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
                                                                      at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
                                                                      at com.rhls.directrepairs.AgentListViewAdapter.onCreateViewHolder(AgentListViewAdapter.java:43)
                                                                      at com.rhls.directrepairs.AgentListViewAdapter.onCreateViewHolder(AgentListViewAdapter.java:20)
                                                                      at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:5779)
                                                                      at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5003)
                                                                      at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4913)
                                                                      at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2029)
                                                                      at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1414)
                                                                      at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1377)
                                                                      at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:578)
                                                                      at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3260)
                                                                      at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3069)
                                                                      at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3518)
                                                                      at android.view.View.layout(View.java:15204)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:4793)
                                                                      at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076)
                                                                      at android.view.View.layout(View.java:15204)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:4793)
                                                                      at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131)
                                                                      at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
                                                                      at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1319)
                                                                      at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:817)
                                                                      at android.view.View.layout(View.java:15204)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:4793)
                                                                      at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
                                                                      at android.view.View.layout(View.java:15204)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:4793)
                                                                      at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)
                                                                      at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)
                                                                      at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)
                                                                      at android.view.View.layout(View.java:15204)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:4793)
                                                                      at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
                                                                      at android.view.View.layout(View.java:15204)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:4793)
                                                                      at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1677)
                                                                      at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1531)
                                                                      at android.widget.LinearLayout.onLayout(LinearLayout.java:1440)
                                                                      at android.view.View.layout(View.java:15204)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:4793)
                                                                      at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
                                                                      at android.view.View.layout(View.java:15204)
                                                                      at android.view.ViewGroup.layout(ViewGroup.java:4793)
                                                                      at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2260)
                                                                      at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2007)
                                                                      at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1249)
                                                                      at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6364)
                                                                      at android.view.Choreographer$CallbackRecord.run(Choreographer.java:791)
                                                                      at android.view.Choreographer.doCallbacks(Choreographer.java:591)
                                                                      at android.view.Choreographer.doFrame(Choreographer.java:561)
                                                                      at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:777)
                                                                      at android.os.Handler.handleCallback(Handler.java:730)
                                                                      at android.os.Handler.dispatchMessage(Handler.java:92)
                                                                    at android.os.Loope

我目前无法完成这项工作。我尝试从 XML 的 src 字段中删除占位符图像(可绘制的 .png 文件),但仍然会崩溃。关于为什么这不起作用的任何想法?

【问题讨论】:

  • 我们可以看到布局xml代码吗?
  • 堆栈跟踪应该有更多节,其中“原因”部分概述了嵌套异常。这些应该为您提供有关根本原因的更多信息,例如OutOfMemoryError
  • 堆栈跟踪中没有其他信息,如您所见,它在底部缩短了 - 但是在粘贴 xml 时,我注意到它使用系统可绘制对象(箭头表示行是可点击的),我只能假设在旧版本中不存在或错误 - 将其更改为另一个图标并完美运行
  • com.rhls.directrepairs.AgentListViewAdapter.onCreateViewHolder(AgentListViewAdapter.java:43)com.rhls.directrepairs.AgentListViewAdapter.onCreateViewHolder(AgentListViewAdapter.java:20) 上的 @ 是什么

标签: android


【解决方案1】:

这可能是因为您在 ImageView 中使用矢量作为背景 看看这个answer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 2012-11-21
    • 2017-03-06
    • 2015-08-21
    • 2017-09-08
    • 2021-04-09
    相关资源
    最近更新 更多