自定义ViewGroup,调试抛出Error inflating class,求构造函数以外的原因?
 照着https://blog.csdn.net/lmj623565791/article/details/43131133这个网址想实现一个圆形旋转菜单,调试时发现在主页面的setContentView一步抛出 Error inflating class......异常,即自己的自定义ViewGroup无法被初始化,度娘说是构造函数的原因,但我确实把所有能找到的不同参数情况都加上去了,经测也不是未引用完整包名的原因;请问诸位,还可能是什么原因?
    先抛异常:
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.asus.newsapplication/com.example.asus.newsapplication.MainPage}: android.view.InflateException: Binary XML file line #12: Error inflating class com.example.asus.newsapplication.CircleMenuLayout
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
                  at android.app.ActivityThread.access$800(ActivityThread.java:151)
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
                  at android.os.Handler.dispatchMessage(Handler.java:102)
                  at android.os.Looper.loop(Looper.java:135)
                  at android.app.ActivityThread.main(ActivityThread.java:5254)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at java.lang.reflect.Method.invoke(Method.java:372)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
               Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class com.example.asus.newsapplication.CircleMenuLayout
                  at android.view.LayoutInflater.createView(LayoutInflater.java:633)
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
                  at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
                  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
                  at com.example.asus.newsapplication.MainPage.onCreate(MainPage.java:16)
                  at android.app.Activity.performCreate(Activity.java:5990)
                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
                  at android.app.ActivityThread.access$800(ActivityThread.java:151) 
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
                  at android.os.Handler.dispatchMessage(Handler.java:102) 
                  at android.os.Looper.loop(Looper.java:135) 
                  at android.app.ActivityThread.main(ActivityThread.java:5254) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at java.lang.reflect.Method.invoke(Method.java:372) 
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) 
               Caused by: java.lang.InstantiationException: Can't instantiate abstract class com.example.asus.newsapplication.CircleMenuLayout
                  at java.lang.reflect.Constructor.newInstance(Native Method)
                  at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
                  at android.view.LayoutInflater.createView(LayoutInflater.java:607)
                  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) 
                  at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
                  at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
                  at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
                  at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
                  at com.example.asus.newsapplication.MainPage.onCreate(MainPage.java:16) 
                  at android.app.Activity.performCreate(Activity.java:5990) 
                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
                  at android.app.ActivityThread.access$800(ActivityThread.java:151) 
                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
                  at android.os.Handler.dispatchMessage(Handler.java:102) 
                  at android.os.Looper.loop(Looper.java:135) 
                  at android.app.ActivityThread.main(ActivityThread.java:5254) 
                  at java.lang.reflect.Method.invoke(Native Method) 
                  at java.lang.reflect.Method.invoke(Method.java:372) 
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) 
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) 

                                        再贴图片:
                                        ![图片说明](https://img-ask.csdn.net/upload/201806/05/1528204867_673557.png)
                                        ![图片说明](https://img-ask.csdn.net/upload/201806/05/1528204937_810371.png)
                                        ![图片说明](https://img-ask.csdn.net/upload/201806/05/1528204988_880336.png)

3个回答

首先CircleMenuLayout这个类是不是一个抽象类?他是不能被设置为抽象类的

qq_36571006
静听关山闻一叫 感谢,问题解决,确实是抽象类的原因。已采纳。
一年多之前 回复

首相类不能被实例化,你应该从这方面考虑一下滴

初步推测原因:CircleMenuLayout是个抽象类。需要你贴出此类的全部定义。还有一种可能就是你的CircleMenuLayout的xml中存在错误。

qq_36571006
静听关山闻一叫 感谢,已解决,确实是抽象类的原因。但我只能按时间顺序采纳上面那位的回答了,感谢!
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
【android】使用部分模拟器出现兼容问题Error inflating class EditText
在使用部分模拟器(此处我使用的是逍遥模拟器)会出现很奇怪的错误,但在其他手机上或模拟器上没有出现 解决方法如下: 在style.xml文件中 @color/colorPrimary @color/colorPrimaryDark @style/EditTextStyle
使用fragment加载自定义fragment出现error inflating class fragment错误解决办法(有效)
出现这个错误网上大部分方法是 1. 检查fragment包名,support.v4和正常的是不一样的 2. 检查activity,如果使用的是v4包下的fragment,则官方给出的是必须继承FragmentActivity(v4包),也可以使用CompatActivity(v7包,继承自FragmentActivity) 3. 静态加载fragment必须给出id 可能还有其他的一些错误
Android CheckBox 控件突然报错
慢慢拾起该有的情怀,不忘初心。 在不知为嘛的情况下,突然发现,项目中XML布局文件中CheckBox  报错,搞什么飞机>>>>>>>>>>>>>>>>>>>>>> 先看报错信息: android.view.InflateException: Binary XML file line #334: Error inflating class android.widget.C
自定义ViewPager XML文件无法识别问题
今天写了一个自定义的ViewPager,但是运行时报错 Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class com.mydrivernews.tools.NoScorllViewPager 意思是xml文件第13行这句话有错误后台去xml可视化界面看了一下,发现报错
【安卓开发报错解决】使用Fragment报错——Binary XML file line #0 : Error inflating class顺利解决
    使用安卓开发移动应用,出现各种问题,每每让我感到绝望不堪。    在使用安卓开发APP的时候,经常会需要用Fragment来实现更好看的功能。我拿着《第一行代码》边看边学习Fragment如何实现。然而,在简单的看完书上的内容之后,在手动重现书上的代码的时候,就遇见了很狗血的事情——实现不了!    简直剧毒。    最简单的Fragment实现套路,按照《第一行代码》上所述,步骤就是——...
Error处理:遇见引入ViewPager包,编译不报错,运行报错ViewPager不存在问题
遇见引入ViewPager包,编译不报错,运行报错ViewPager不存在问题 今天遇到一个比较奇怪的问题:导入android.support.v4.view.ViewPager包,引入ViewPager,编译不报错,运行报错ViewPager不存在问题。 由于工程的Target是Android2.3平台,而且代码是从之前的一个原有包里导入的。想加如一个viewpager.添加过程一切顺利
Crosswalk 运行报错问题
android 集成Crosswalk XWalk遇到的问题: 1、android studio编译项目报错: Binary XML file line #1: Error inflating class org.xwalk.core.XWalkView 原因:arm64-v8a包与XWalk框架冲突  解决: //bugly ndk {      // 设置支
第三方控件Banner实现轮播
1.第一步,添加依赖: compile 'com.youth.banner:banner:1.4.9' compile 'com.github.bumptech.glide:glide:4.0.0-RC0' 2.添加权限: 3.关于Banner在布局中引用: <com.youth.banner.Banner android:layout_w
BaiduMapActivity
android开发百度地图的实例。api key ,请自己申请。 解决了Error inflating class com.baidu.mapapi.map.MapView问题。
自定义控件,引入报错解决办法、
最顶部直接用  xmlns:app="http://schemas.android.com/apk/res-auto"
二维码-ViewFinderView的使用
二维码-viewfinderview的使用
SwipeBackActivity的学习遇到的问题
//摘要:关于SwipeBackActivity,主要注意以下几种情况: // 1.引入 compile ‘me.imid.swipebacklayout.lib:library:1.0.0’ // 2.将app的主题设置加入 true // –这样主题就可以使透明的,不能用默认的主题;使用默认背景就是黑屏了,这个属性就是设置防止黑屏的。 // 关于阻止黑屏可查看:
初体验AutoLayout(一)
1、简单布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="
使用NavigationView控件时报错
解决报错问题 Error inflating class android.support.design.widget.NavigationView 分类:Android学习笔记  (871)  (1)  举报  收藏 错误提示:  java.lang.RuntimeException: Unable to start activity ComponentInfo
使用tablayout时出现的问题
Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class android.support.design.widget.TabLayout,TableLayout引起页面崩溃在使用TableLayout的时候,运行引用程序直接Crash:FATAL EXCEPTION: main
使用QMUI遇到的坑!!
引入库compile 'com.qmuiteam:qmui:1.0.7'2.必须配置theme的parent指向QMUI.Compat 或 QMUI,至此,QMUI 可以正常工作:找到style.xml文件修改如下[html] view plain copy&amp;lt;style name=&quot;AppThemeQmui&quot; parent=&quot;QMUI.Compat.NoActionBar&quot;&amp;gt;     ...
Kotlin 第一弹:自定义 ViewGroup 实现流式标签控件
古人学问无遗力, 少壮工夫老始成。纸上得来终觉浅, 绝知此事要躬行。 – 陆游 《冬夜读书示子聿》 上周 Google I/O 大会的召开,宣布了 Kotlin 语言正式成为了官方开发语言。一时间 Android 开发者的圈子炸开了锅,各种关于 Kotlin 的资料介绍也如雨后春笋不断的冒出。大家都对这比较关心,我觉得最大的原因是,当初宣布 Android Studio 成为官方 IDE 后,很多开
《ArcGIS Runtime SDK for Android开发笔记》——(8)、关于ArcGIS Android开发的未来(“Quartz”版Beta)
1、前言 今天再一次在官网看到了ArcGIS Runtime SDK for Android下一个版本“Quartz”版的更新资料,它将是一个非常重要的更新,包括API接口的重构和开发思路的调整。具体如下图所示: 在ArcGIS Runtime SDK概述一文中已经给大家介绍了ArcGIS Runtime SDK for Android的前世今生,从2011年6月发布ArcGIS Runt
Android--资源导致部分机型的兼容性
最近,公司开发了两款app都是在小米平台上,屡次碰壁。最神奇的是,我自己的apk的debug模式可以装在测试机小米5和红米note3上面,直接运行也可以。但是,请注意这个但是,当你正儿八经的认真的打一个release apk时,它真的是死活都装不上去。提示系统内已经存在这个app....纳闷五分钟,令我更加诅丧的是,除过自己测试机的手机外其他米系类毫无压力的秒装。由于本人没有使用过米系列手机,虽然
安卓布局 Binary XML file line #0 神秘报错深坑
今天在写一个简单的不能再简单的页面布局,运行总是报错。 开始以为用的哪个控件声明有问题。找了良久。并没有结果。 一毛钱难倒富豪。 后来发现,布局文件的当做分割线来用的View元素,写成了view(小写) <view android:id="@+id/line" app:layout_constraintTop_toBottomOf="@id/tv_skill1" a
设计模式之单例模式(完善版)
分类: Android平台rnrn今天去面试被问到了单例模式,我很得意的写了下来,以为万无一失,结果发现我错了,我有两点没有考虑到。rn(1)这个类要确定不能在其它类中new出来实例对象出来,该怎么办呢?rn     就要写一个私有的构造方法,这点很重要。rnrnrnrnprivate SingleMode()rn{rn        rn    } rnrnrn(2)在整个应用程序中只能有一个实
最近遇到的一些Bug的处理
一些Bug的处理一、android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>出现了两次这个问题 在setContentView的时候layout的文件名写错了 XML文件里引用到一个colors里的样式,但是显示的是没有找到resource 因为我是直接把整个colors.xm
recyclerview-V7
解决。java.lang.RuntimeException: Unable to start activity ComponentInfo{com.deyi.deyijia/com.deyi.deyijia.activity.PinterestActivity}: android.view.InflateException: Binary XML file line #157: Error inflating class android.support.v7.widget.RecyclerView
AutoLayout根布局适配问题
弘洋大大的UI适配库,实现了在不同设备上的自动适配,非常方便 附上链接: Android AutoLayout全新的适配方式 堪称适配终结者遇到的问题:在LayoutInflater.from(getContext()).inflate(resource,parent,false),根布局即parent自身的数值不被转化关于inflate(getContext(), resource, null)和
自定义View绘制心得(自定义view和自定义viewGroup)
自定义view和viewGroup 的差异和方法
recyclerview-v7.zip
eclipse使用解决。java.lang.RuntimeException: Unable to start activity ComponentInfo{com.deyi.deyijia/com.deyi.deyijia.activity.PinterestActivity}: android.view.InflateException: Binary XML file line #157: Error inflating class android.support.v7.widget.RecyclerView
Android 自定义ViewGroup之实现FlowLayout-标签流容器
本篇文章讲的是Android 自定义ViewGroup之实现标签流式布局-FlowLayout,开发中我们会经常需要实现类似于热门标签等自动换行的流式布局的功能,网上也有很多这样的FlowLayout,但不影响我对其的学习。和往常一样,主要还是想总结一下自定义ViewGroup的开发过程以及一些需要注意的地方。按照惯例,我们先来看看效果图 一、写代码之前,有几个是问题是我们先要弄清楚的: 1、什
Java的构造函数抛出异常如何处理?
A001:是否被实例化无法确保。方案1:抛出IllegalArgumentException(RuntimeException),并在javadoc中记载在何种情形下会抛出异常方案2:抛出checked exception,通常在超出client code的控制范围的情况下 如果要做cleanup的相关操作?    finally:即使在成功的时候也会被调用的。
解决TabLayout无法Inflate问题
问题最近使用了Support Design包 通过compile 'com.android.support:design:24.2.1'添加依赖需要使用一个TabLayout,但是使用过程中一直是不能加载布局文件。 android.view.InflateException: Binary XML file line #11: Error inflating class android.supp
XRecyclerView的使用下拉刷新
为什么要使用XRecyclerView?因为它可以实现下拉刷新上拉加载的功能,而且有recyclerView 的属性,可以listView,GridView,还有瀑布流,也可以多条目展示; 说白了就是recylerView的升级版,有刷新加载功能;1.配置build.gradle文件:直接添加 compile 'com.jcodecraeer:xrecyclerview:1.3.2' 即可
如何在xml中使用自定义的ViewGroup组件
1.ViewGroup的介绍:rnrnrnrnrnrn/**rn * A ViewGroup is a special view that can contain other viewsrn * (called children.) The view group is the base class for layouts and viewsrn * containers. This class a
自定义view的时候引用到xml里出现问题
注意引用包的包名,不能漏。。。。
自定义控件学习前篇 简单认识View的四个构造方法
自定义View绘制流程函数调用链(简化版)一、自定义View的分类:1.自定义ViewGroup自定义ViewGroup一般是利用现有的组件根据特定的布局方式来组成新的组件,大多继承自ViewGroup或各种Layout,包含有子View。 例如:应用底部导航条中的条目,一般都是上面图标(ImageView),下面文字(TextView),那么这两个就可以用自定义ViewGroup组合成为一个V
异常的出现情况及解决方式(持续更新中)
tips:快速查阅 ctrl + F 输入关键字(异常名字)查找。 1.Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment 2.Caused by: java.lang.RuntimeException: Binary XML file lin
Fresco 初体验各种问题解决
Fresco 初体验各种问题解决 xmlns:fresco="http://schemas.android.com/apk/res-auto"显示为灰色,没有应用到 解决办法 把引用图片的方式(src)改为:fresco:placeholderImage 初始化位置错误 Error inflating class com.facebook.drawee.view.SimpleDrawe
Android开发知识(十)快速接入高德地图SDK(地图+定位+标记+路线规划+搜索)
目录 目录 申请接入流程 显示高德地图 显示定位 Marker 显示地图标记 Route 路线规划 Search 搜索 申请接入流程 高德地图的申请接入流程 1、首先到 [ 高德地图API官网] 申请注册帐号 2、进入控制台,点击应用管理,我们创建一个新的应用: 3、为刚才创建的应用添加key: 随便输入一个key的名称,这里我们只讨论Android平台,所以...
(转)安卓自定义圆形图片控件的使用(hdodenhof/CircleImageView)
原地址:http://www.cnblogs.com/mo-xue/p/5933429.html 控件的来源:https://github.com/hdodenhof/CircleImageView 感兴趣的可以去看看,我只说一下怎么使用: 效果图: 在自己的项目中使用的话,需要写一个类class CircleImageView extends Imag
自定义viewgroup实现自动换行的布局,同时解决自定义布局在wrapcontent下高度不能自适应的问题,plus一些关于Component重写的基础知识
Android下自定义Component的一些基础知识,以及一个复写ViewGroup的自动换行,自适应高度的布局
对自定义View的小补充 -- 其构造方法调用的时间
//在Java代码中直接new出来的时候调用 public DemoImageView(Context context) { super(context); initScroller(); } //在XML中不使用自定义属性的时候调用 public DemoImageView(Context context,
【Android】快速开发偷懒必备,一句话搞定所有ViewGroup的Adapter . 支持自定义ViewGroup
开发中,经常会用到动态在ScrollView、LinearLayout里addView的事,尤其是ItemView一样时,每次都要写一大堆代码 inflater 动态addView,很烦。 这个时候就开始期待,能不能有一种快速为任意ViewGroup添加子View的东西。 那么需求就来了: * 快速简单使用 * 支持任意ViewGroup * 无耦合 * 无侵入性 * Item支持多种类型
Android 自定义控件之ViewGroup实例(实现一个简易的Viewpager)
如何自定义一个继承ViewGroup的控件呢?在实现的过程中涉及哪些知识点?需要注意哪些地方呢?接下来以一个简易的ViewPager来展示继承ViewGroup的自定义控件。做出来是这样一个效果图,如下:          完成一个这样的效果:水平方向由MySimpleViewPager处理,竖直方向由ListView处理,MySimpleViewPager有三个子元素->ListVie
【已解决】onCreateViewHolder中的代码错误,导致程序崩溃
问题: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. at android.view.ViewGroup.addV
关于Fragment中的onAttach方法
最近在开发中发现在使用了Fragment的页面中,在6.0以下的机型中出现了空指针异常的情况。 在排查后发现,是因为onAttach(Activity activity)方法被弃用而改用了onAttach(Context context)方法,而后者在6.0以下的方法并不被调用。 往后在开发中,对一些被弃用的方法需要注意处理。
Java学习之自定义异常和抛出异常
知识点: 1.throws是在定义方法时候抛出异常,throw是在方法体内抛出异常 2.try{}catch(Exception e){}finally{}这是一个比较常见的组合使用try-catch-finally组合注意点: • 当不存在catch语句时,finally 语句必须存在并且紧跟在try语句后面。 • 在try语句和catch语句间不能存在任何语句,同样在catch语
Throwable中的异常和错误
Throwable     &amp;nbsp; Java中有个java.lang.Throwable类,这个类是Java中所有异常和错误的基类。Throwable下有两个大类那就是异常(Exception)和错误(Error)。 异常     &amp;nbsp; 异常(Exception),Java中异常又分两大类,运行时异常和编时译异常,除了运行时异常(RuntimeException)其余的...
各种ViewGroup的圆角实现,包括listView等
各种ViewGroup的圆角实现,包括listView等
vitamio 开源框架使用(VideoView)
开源框架 vitamio 需要到官网下载最新的 包 这里面是需要倒入的libs包  用法完全和videoView 一样 xml io.vov.vitamio.widget.VideoView     android:id="@+id/vitamio"     android:layout_width="200dp"  
使用recycleview实现广告轮播
引子 一般情况下,我们手机 App 上轮播图一般都是几张图来回循环,最多也就10几张,一般都是在10张以内的轮播。所以我们一般可能都是自己写,还有可能用到了别人写的第三方库。由此可能由于图片轮播数量不大,所以没有考虑复用机制,以致于放上百张图片或者上千张图片轮播时,导致应用崩溃,内存溢出的情况。 由于工作的需要,需要放上百张图片轮播,所以想做一个可能能够承受住的轮播,当然最节省内存的方式可能就
ImageView引用资源文件引起错误
错误日志: 07-14 09:34:44.748 2583-2583/com.example.administrator.individualresume E/AndroidRuntime: FATAL EXCEPTION: main
关于ViewGroup的触摸事件拦截
onInterceptTouchEvent() 方法和 onTouchEvent() 的区别:有梯子的直接看这里 The onInterceptTouchEvent() method is called whenever a touch event is detected on the surface of a ViewGroup, including on the surface of i
相关热词 c# 图片上传 c# gdi 占用内存 c#中遍历字典 c#控制台模拟dos c# 斜率 最小二乘法 c#进程延迟 c# mysql完整项目 c# grid 总行数 c# web浏览器插件 c# xml 生成xsd
立即提问