Android org.xmlpull.v1.XmlPullParserException:二进制XML文件行#2:无效的可绘制标记项

Android org.xmlpull.v1.XmlPullParserException:二进制XML文件行#2:无效的可绘制标记项,android,xml-parsing,android-custom-view,Android,Xml Parsing,Android Custom View,我正在尝试为Android中的TextView小部件制作一个自定义形状。形状将为圆形,使用以下代码: <?xml version="1.0" encoding="utf-8"?> <item xmlns:android="http://schemas.android.com/apk/res/android"> <shape > <solid android:color="#ffffff"/> <corners android:

我正在尝试为Android中的TextView小部件制作一个自定义形状。形状将为圆形,使用以下代码:

<?xml version="1.0" encoding="utf-8"?>
<item xmlns:android="http://schemas.android.com/apk/res/android">
<shape >
    <solid android:color="#ffffff"/>
    <corners android:radius="10dp"/>
</shape>
</item>

当我在布局代码中引用xml作为文本视图的背景时,出现以下错误:

activity_main.xml: Failed to parse file C:\Users\osama\workspace\project\res\drawable\notification_balloon.xml

org.xmlpull.v1.XmlPullParserException: Binary XML file line #2: invalid drawable tag item
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1091)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:1017)
at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:224)
at android.content.res.BridgeTypedArray.getDrawable(BridgeTypedArray.java:674)
at android.view.View.<init>(View.java:3730)
at android.widget.TextView.<init>(TextView.java:634)
at android.widget.TextView.<init>(TextView.java:629)
at android.widget.TextView.<init>(TextView.java:625)
at sun.reflect.GeneratedConstructorAccessor52.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at android.view.LayoutInflater.createView(LayoutInflater.java:607)
at android.view.BridgeInflater.onCreateView(BridgeInflater.java:82)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:128)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:782)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:809)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:782)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:400)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:332)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:517)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1584)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1309)
at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(GraphicalEditorPart.java:1066)
at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate.delegatePageChange(LayoutEditorDelegate.java:686)
at com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.pageChange(CommonXmlEditor.java:360)
at org.eclipse.ui.part.MultiPageEditorPart$2.widgetSelected(MultiPageEditorPart.java:294)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:782)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3110)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1794)
at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:283)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
activity\u main.xml:未能分析文件C:\Users\osama\workspace\project\res\drawable\notification\u balloon.xml
org.xmlpull.v1.XmlPullParserException:二进制XML文件行#2:无效的可绘制标记项
位于android.graphics.drawable.drawable.createFromXmlInner(drawable.java:1091)
位于android.graphics.drawable.drawable.createFromXml(drawable.java:1017)
位于com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:224)
位于android.content.res.BridgeTypedArray.getDrawable(BridgeTypedArray.java:674)
在android.view.view.(view.java:3730)
位于android.widget.TextView。(TextView.java:634)
在android.widget.TextView。(TextView.java:629)
位于android.widget.TextView。(TextView.java:625)
位于sun.reflect.GeneratedConstructorAccessor52.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于android.view.LayoutInflater.createView(LayoutInflater.java:607)
在android.view.BridgeInflater.onCreateView(BridgeInflater.java:82)中
位于android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
在android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:128)中
位于android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806)
在android.view.LayoutInflater\u Delegate.rInflate(LayoutInflater\u Delegate.java:64)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:782)
位于android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:809)
在android.view.LayoutInflater\u Delegate.rInflate(LayoutInflater\u Delegate.java:64)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:782)
在android.view.LayoutInflater.充气(LayoutInflater.java:504)
在android.view.LayoutInflater.充气(LayoutInflater.java:385)
在com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:400)上
位于com.android.layoutlib.bridge.bridge.createSession(bridge.java:332)
位于com.android.ide.common.rendering.layoutbrary.createSession(layoutbrary.java:332)
位于com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:517)
位于com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1584)
位于com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1309)
在com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated上(GraphicalEditorPart.java:1066)
位于com.android.ide.eclipse.adt.internal.editors.layout.layouteditorregate.delegatePageChange(layouteditorregate.java:686)
在com.android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor.pageChange(CommonXmlEditor.java:360)上
位于org.eclipse.ui.part.multiageeditorpart$2.widgetSelected(multiageeditorpart.java:294)
位于org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
位于org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
位于org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
位于org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
位于org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
位于org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
位于org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:782)
位于org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3110)
位于org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1794)
位于org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:283)
位于org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
位于org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
位于org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
位于org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
在org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)上
位于org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
位于org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
位于org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
位于org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
位于org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
位于org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
位于org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
位于org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
位于org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
在org.eclipse.equinox.internal.app.eclipseeapphandle.run上(eclipseeapphandle.java:196)
位于org.eclipse.core.runtime.internal.adapter.eclipseeappluncher.runApplication(eclipseeappluncher.java:134)
位于org.eclipse.core.runtime.internal.adapter.eclipseeappluncher.start(eclipseeappluncher.java:104)
位于org.eclipse.core.runtime.adapter.EclipseStarter.run(EclipseStarter.java:380)
位于org.eclipse.core.runtime.adapter.EclipseStarter.run(EclipseStarter.java:235)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(未知源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke处(未知源)
位于java.lang.reflect.Method.invoke(未知源)
位于org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
位于org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
位于org.eclipse.equinox.launcher.Main.run(Main.java:1465)
我尝试了stackoverflow上提到的其他解决方案,但都不起作用

请问
  <?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring"
    android:innerRadiusRatio="2.5"
    android:thickness="3dp"
    android:useLevel="false">

    <solid android:color="#B7B7B7" />

</shape>