Android(安卓)The style on this component requires your app theme to be Theme.AppCompat
16lz
2022-05-25
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.debugshow, PID: 3438 java.lang.RuntimeException: Unable to start service com.example.debugshow.view.Main.FloatingService@ed88d6d with Intent { cmp=com.example.debugshow/.view.Main.FloatingService (has extras) }: android.view.InflateException: Binary XML file line #22: Binary XML file line #22: Error inflating class com.example.debugshow.view.Main.DraggableFloatingButton at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3097) at android.app.ActivityThread.access$2300(ActivityThread.java:156) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1507) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:157) at android.app.ActivityThread.main(ActivityThread.java:5653) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:746) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636) Caused by: android.view.InflateException: Binary XML file line #22: Binary XML file line #22: Error inflating class com.example.debugshow.view.Main.DraggableFloatingButton at android.view.LayoutInflater.inflate(LayoutInflater.java:543) at android.view.LayoutInflater.inflate(LayoutInflater.java:427) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at android.view.View.inflate(View.java:19830) at com.example.debugshow.view.Main.FloatingDebugView.initView(FloatingDebugView.java:37) at com.example.debugshow.view.Main.FloatingDebugView.(FloatingDebugView.java:31) at com.example.debugshow.view.Main.FloatingDebugWindowManager.addView(FloatingDebugWindowManager.java:52) at com.example.debugshow.view.Main.FloatingService.onStartCommand(FloatingService.java:41) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3077) at android.app.ActivityThread.access$2300(ActivityThread.java:156) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1507) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:157) at android.app.ActivityThread.main(ActivityThread.java:5653) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:746) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636) Caused by: android.view.InflateException: Binary XML file line #22: Error inflating class com.example.debugshow.view.Main.DraggableFloatingButton at android.view.LayoutInflater.createView(LayoutInflater.java:649) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:768) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:708) at android.view.LayoutInflater.rInflate(LayoutInflater.java:839) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802) at android.view.LayoutInflater.rInflate(LayoutInflater.java:842) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802) at android.view.LayoutInflater.inflate(LayoutInflater.java:519) at android.view.LayoutInflater.inflate(LayoutInflater.java:427) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at android.view.View.inflate(View.java:19830) at com.example.debugshow.view.Main.FloatingDebugView.initView(FloatingDebugView.java:37) at com.example.debugshow.view.Main.FloatingDebugView.(FloatingDebugView.java:31) at com.example.debugshow.view.Main.FloatingDebugWindowManager.addView(FloatingDebugWindowManager.java:52) at com.example.debugshow.view.Main.FloatingService.onStartCommand(FloatingService.java:41) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3077) at android.app.ActivityThread.access$2300(ActivityThread.java:156) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1507) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:157) at android.app.ActivityThread.main(ActivityThread.java:5653) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:746) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance(Native Method) at android.view.LayoutInflater.createView(LayoutInflater.java:623) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:768) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:708) at android.view.LayoutInflater.rInflate(LayoutInflater.java:839) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802) at android.view.LayoutInflater.rInflate(LayoutInflater.java:842) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802) at android.view.LayoutInflater.inflate(LayoutInflater.java:519) at android.view.LayoutInflater.inflate(LayoutInflater.java:427) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at android.view.View.inflate(View.java:19830) at com.example.debugshow.view.Main.FloatingDebugView.initView(FloatingDebugView.java:37) at com.example.debugshow.view.Main.FloatingDebugView.(FloatingDebugView.java:31) at com.example.debugshow.view.Main.FloatingDebugWindowManager.addView(FloatingDebugWindowManager.java:52) at com.example.debugshow.view.Main.FloatingService.onStartCommand(FloatingService.java:41) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3077) at android.app.ActivityThread.access$2300(ActivityThread.java:156) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1507) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:157) at android.app.ActivityThread.main(ActivityThread.java:5653) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:746) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636) Caused by: java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.AppCompat (or a descendant). at android.support.design.internal.ThemeEnforcement.checkTheme(ThemeEnforcement.java:221) at android.support.design.internal.ThemeEnforcement.checkAppCompatTheme(ThemeEnforcement.java:196) at android.support.design.internal.ThemeEnforcement.checkCompatibleTheme(ThemeEnforcement.java:131) at android.support.design.internal.ThemeEnforcement.obtainStyledAttributes(ThemeEnforcement.java:72) at android.support.design.widget.FloatingActionButton.(FloatingActionButton.java:195) at android.support.design.widget.FloatingActionButton.(FloatingActionButton.java:188) at com.example.debugshow.view.Main.DraggableFloatingButton.(DraggableFloatingButton.java:24) at java.lang.reflect.Constructor.newInstance(Native Method) at android.view.LayoutInflater.createView(LayoutInflater.java:623) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:768) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:708) at android.view.LayoutInflater.rInflate(LayoutInflater.java:839) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802) at android.view.LayoutInflater.rInflate(LayoutInflater.java:842) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:802) at android.view.LayoutInflater.inflate(LayoutInflater.java:519) at android.view.LayoutInflater.inflate(LayoutInflater.java:427) at android.view.LayoutInflater.inflate(LayoutInflater.java:374) at android.view.View.inflate(View.java:19830) at com.example.debugshow.view.Main.FloatingDebugView.initView(FloatingDebugView.java:37) at com.example.debugshow.view.Main.FloatingDebugView.(FloatingDebugView.java:31) at com.example.debugshow.view.Main.FloatingDebugWindowManager.addView(FloatingDebugWindowManager.java:52) at com.example.debugshow.view.Main.FloatingService.onStartCommand(FloatingService.java:41) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3077) at android.app.ActivityThread.access$2300(ActivityThread.java:156) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1507) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:157) at android.app.ActivityThread.main(ActivityThread.java:5653) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:746) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636) I/Process: Sending signal. PID: 3438 SIG: 9Disconnected from the target VM, address: 'localhost:8600', transport: 'socket'
网上很多说法是出这个错的原因是自定义View的构造函数没写全,但是我把三个构造函数写全了,依然报这个错。其实真正的解法是,在引用这个自定义布局的界面根标签里,添加一行代码:
android:theme="@style/Theme.AppCompat"
更多相关文章
- Android中常用的函数
- Android(安卓)optionsmenu例程
- Android(安卓)动态设置全屏,退出全屏
- OpenGL ES教程I之创建OpenGL视图(原文对照)
- AspectJ 在 Android(安卓)中的使用
- SAP BSP, Java Web Project,Android和微信小程序的初始页面设置
- Android(安卓)之 ServiceManager与服务管理
- Android(安卓)中文 API (22) ―― MultiAutoCompleteTextView
- 箭头函数的基础使用