No se pudo analizar el archivo XML para android

Soy básicamente nuevo a esto y trabajando a través de un ejemplo en un libro. Mi button1.xml se ve así …

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/buttonpressed" /> <item android:state_focused="true" android:drawable="@drawable/buttonfocused" /> <item android:drawable="@drawable/buttonnormal" /> </selector> 

Main.xml …

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ImageButton android:id="@+id/button_one" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="5px" android:src="@drawable/button1"> </ImageButton> </LinearLayout> 

Y sigo recibiendo este error

 eclipse.buildId=M20110909-1335 java.version=1.7.0_01 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US Command-line arguments: -os win32 -ws win32 -arch x86_64 Error Tue Oct 25 12:19:07 CDT 2011 main.xml: Failed to parse file C:\Users\kpreese\workspace\Chapter7\res\drawable\button1.xml org.xmlpull.v1.XmlPullParserException: Binary XML file line #4: <item> tag requires a 'drawable' attribute or child tag defining a drawable at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:178) at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:832) at android.graphics.drawable.Drawable.createFromXml(Drawable.java:769) at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:208) at com.android.layoutlib.bridge.android.BridgeTypedArray.getDrawable(BridgeTypedArray.java:775) at android.widget.ImageView.<init>(ImageView.java:118) at android.widget.ImageButton.<init>(ImageButton.java:85) at android.widget.ImageButton.<init>(ImageButton.java:81) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.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:576) at com.android.layoutlib.bridge.android.BridgeInflater.onCreateView(BridgeInflater.java:84) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:644) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:669) at com.android.layoutlib.bridge.android.BridgeInflater.createViewFromTag(BridgeInflater.java:129) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:83) at android.view.LayoutInflater.rInflate(LayoutInflater.java:702) at android.view.LayoutInflater.inflate(LayoutInflater.java:479) at android.view.LayoutInflater.inflate(LayoutInflater.java:367) at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:324) at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:321) at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:325) at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:372) at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1317) at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1071) at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ConfigListener.onConfigurationChange(GraphicalEditorPart.java:493) at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.onTargetChange(GraphicalEditorPart.java:973) at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.onDescriptorsChanged(LayoutEditor.java:568) at com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.initUiRootNode(LayoutEditor.java:490) at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$TargetListener.updateEditor(GraphicalEditorPart.java:787) at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$TargetListener.onTargetLoaded(GraphicalEditorPart.java:752) at com.android.ide.eclipse.adt.AdtPlugin$11.run(AdtPlugin.java:1613) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 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:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) 

No puedo entender esto. Busqué y encontré muchos problemas similares, pero no encontré ninguno de los errores yo mismo. ¿Alguna sugerencia?

– Traté de cambiar dos de los archivos (buttonpressed y buttonfocused) y todavía recibió el error en la misma línea de código. Luego reemplazó todos los archivos con el archivo ic_launcher, esto también resultó en el mismo error. Si configuro el android.src = "# 00000000" funciona. No sé si esto ayuda pero parece indicar que el problema no es los archivos pero en el código de button1.xml.

Así que me lo arreglaron creo. No estoy realmente seguro de lo que hice, sino volver a escribir el android: src = "@ drawable / button1"> línea. Y poof funciona. ¡Gracias a los dos por su ayuda!

Cambio

 <ImageButton android:id="@+id/button_one" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="5px" android:src="@drawable/button1"> 

a

 <ImageButton android:id="@+id/button_one" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="5px" android:background="@drawable/button1"> 

Tenga en cuenta que android:src="@drawable/button1" se cambia a android:background="@drawable/button1"

Si está utilizando ADT 14 con android 4.0 sdk hay un problema ( http://code.google.com/p/android/issues/detail?id=21046 ) relacionado con los tirables de statelist.

Una solución temporal allí sería comenzar eclipse con el parámetro -clean (algún otro individuo divulga que esto no ayudó, aunque). Pero usted puede darle una oportunidad.

Tuve el mismo problema. En mi caso había un solo espacio antes de la etiqueta xml en el archivo XML (la fuente copiada de la página web de los desarrolladores de Android) Después de quitar el espacio y readd el imagebutton todo fue normal. Traté de reinsertar el espacio y obtuve el mismo error de nuevo.

Limpiar el proyecto y reiniciar Eclipse funcionó para mí ..

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.