Android的自定义部件的异常膨胀 [英] Android Custom Widget Inflate Exception
本文介绍了Android的自定义部件的异常膨胀的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
<?XML版本=1.0编码=UTF-8&GT?;
<的LinearLayout
的xmlns:机器人=http://schemas.android.com/apk/res/android
的xmlns:程序=http://schemas.android.com/apk/res/com.org.BatteryManager
机器人:layout_width =match_parent
机器人:layout_height =WRAP_CONTENT
机器人:方向=垂直
>
< com.org.BatteryManager.BatteryView
机器人:layout_width =match_parent
机器人:layout_height =WRAP_CONTENT
应用:文字颜色=#FFFFFFFF
/>
< / LinearLayout中>02-17 18:49:49.392:WARN / AppWidgetHostView(124):updateAppWidget找不到任何视图,使用错误观点
02-17 18:49:49.392:WARN / AppWidgetHostView(124):android.view.InflateException:二进制XML文件行#9:错误充气类com.org.BatteryManager.BatteryView
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.view.LayoutInflater.inflate(LayoutInflater.java:407)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.view.LayoutInflater.inflate(LayoutInflater.java:320)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.widget.RemoteViews.apply(RemoteViews.java:930)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.appwidget.AppWidgetHostView.updateAppWidget(AppWidgetHostView.java:219)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.appwidget.AppWidgetHost.updateAppWidgetView(AppWidgetHost.java:250)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.appwidget.AppWidgetHost $ UpdateHandler.handleMessage(AppWidgetHost.java:73)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.os.Handler.dispatchMessage(Handler.java:99)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.os.Looper.loop(Looper.java:123)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.app.ActivityThread.main(ActivityThread.java:4627)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在java.lang.reflect.Method.invokeNative(本机方法)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在java.lang.reflect.Method.invoke(Method.java:521)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在dalvik.system.NativeStart.main(本机方法)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):抛出java.lang.ClassNotFoundException:所致[。] com.org.BatteryManager.BatteryView装载机dalvik.system.PathClassLoader
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在java.lang.ClassLoader.loadClass(ClassLoader.java:573)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在java.lang.ClassLoader.loadClass(ClassLoader.java:532)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.view.LayoutInflater.createView(LayoutInflater.java:466)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565)
02-17 18:49:49.392:WARN / AppWidgetHostView(124):15 ...更多
解决方案
我有同样困惑的问题。要修复它自定义视图应该提供一个构造函数有两个参数:上下文和作为的AttributeSet谏<一个href=\"http://stackoverflow.com/questions/3739661/android-error-inflating-class/3739853#3739853\">here.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.org.BatteryManager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<com.org.BatteryManager.BatteryView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:textColor="#ffffffff"
/>
</LinearLayout>
02-17 18:49:49.392: WARN/AppWidgetHostView(124): updateAppWidget couldn't find any view, using error view
02-17 18:49:49.392: WARN/AppWidgetHostView(124): android.view.InflateException: Binary XML file line #9: Error inflating class com.org.BatteryManager.BatteryView
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.widget.RemoteViews.apply(RemoteViews.java:930)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.appwidget.AppWidgetHostView.updateAppWidget(AppWidgetHostView.java:219)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.appwidget.AppWidgetHost.updateAppWidgetView(AppWidgetHost.java:250)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.appwidget.AppWidgetHost$UpdateHandler.handleMessage(AppWidgetHost.java:73)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.os.Handler.dispatchMessage(Handler.java:99)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.os.Looper.loop(Looper.java:123)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.app.ActivityThread.main(ActivityThread.java:4627)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at java.lang.reflect.Method.invokeNative(Native Method)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at java.lang.reflect.Method.invoke(Method.java:521)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at dalvik.system.NativeStart.main(Native Method)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): Caused by: java.lang.ClassNotFoundException: com.org.BatteryManager.BatteryView in loader dalvik.system.PathClassLoader[.]
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.view.LayoutInflater.createView(LayoutInflater.java:466)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565)
02-17 18:49:49.392: WARN/AppWidgetHostView(124): ... 15 more
解决方案
I had the same confusing problem. To fix it your custom view should provide a constructor with two arguments: Context and AttributeSet as adviced here.
这篇关于Android的自定义部件的异常膨胀的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文