para - importar proyecto android studio
Error xml de Android: "No se encontró ningún recurso que coincida con el nombre de pila" con RelativeLayout(@ id/LinearLayout_acc, @ id/ProgressBar_statusScreen) (4)
Cambie cada id de id @id
a @+id
, sin importar cuándo esté definiendo o haciendo referencia a una id. Con esto, no obtendrás
Error xml de Android: "No se encontró ningún recurso que coincida con el nombre de pila" con RelativeLayout (@ id / LinearLayout_acc, @ id / ProgressBar_statusScreen).
De acuerdo, entonces esto está empezando a molestarme. Este error aparece de una manera muy especial, no muy lógica.
Permítanme comenzar diciendo que ya he analizado las otras preguntas sobre este error, Google también lo hizo. Por lo que puedo decir, la mayoría de los problemas similares ocurren porque las personas se refieren a un recurso de String
u otra cosa que no está dentro del mismo archivo de diseño, extravían el ''+'' en ''@ id +'' o algo similar.
El problema que estoy teniendo ocurre en un archivo .xml de diseño con un RelativeLayout
. Esto contiene un TableLayout
, dos LinearLayout
contienen algo de texto y finalmente un ProgressBar
. Lo que quiero es que la barra de progreso esté alineada con el diseño relativo usando android:layout_alignParentBottom="true"
y luego alinee los dos diseños lineales sobre la barra de progreso (el diseño lineal inferior se alinea sobre la barra de progreso, el otro se alinea sobre el fondo diseño lineal).
Debe ser lo suficientemente simple y parece funcionar, es decir, la vista gráfica muestra el resultado deseado. Sin embargo, y aquí viene el problema , Eclipse me da un error en los dos diseños lineales,
"Error: no se encontró ningún recurso que coincida con el nombre de pila (en ''layout_above'' con el valor ''@ id / LinearLayout_acc'')".
y el mismo error para el otro diseño lineal que hace referencia a la barra de progreso. He comprobado más de tres veces que no hay errores tipográficos (la identificación también existe en packagename.R.java), y he intentado limpiar el proyecto una docena de veces.
No obtengo el error al guardar (y la construcción automática), no hasta que decida ejecutar el proyecto. Otra cosa extraña es que cuando me refiero al diseño lineal inferior desde la barra de progreso en lugar del diseño lineal superior, ¡no obtengo ningún error!
Mi archivo de diseño:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background_activity" >
<TableLayout
... />
<LinearLayout
android:id="@+id/LinearLayout_dist"
android:layout_above="@id/LinearLayout_acc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="10dp" >
<TextView
... />
<TextView
... />
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayout_acc"
android:layout_above="@id/ProgressBar_statusScreen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" >
<TextView
... />
<TextView
... />
</LinearLayout>
<ProgressBar
android:id="@+id/ProgressBar_statusScreen"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="16dp" />
</RelativeLayout>
Por favor ayuda, no tengo idea de lo que causa este error!
Editar con respuestas
Shrikant llegó con la solución de cambiar el orden de aparición en el archivo de diseño de modo que los elementos solo hagan referencia a otros elementos ya definidos cuando se lee la referencia.
Además, como otros han publicado, cambiando @id/
a @+id/
, incluso en una referencia, elimina los mensajes de error. Como Marco W. escribió en this hilo, lo que debes hacer es usar @+id/
la primera vez que se menciona cada identificación y luego usar @id/
después, aunque la primera vez no sea una definición.
Hice la mayor parte del diseño y establecí los id referidos en el editor gráfico de Eclipse, de modo que el código que dio como resultado un mensaje de error se insertó automáticamente. Tal vez esto es un error en Eclipse.
Por favor revisa el código a continuación
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/ic_launcher" >
<TableLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:id="@+id/LinearLayout_dist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/LinearLayout_acc"
android:layout_centerHorizontal="true"
android:layout_marginBottom="10dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="FIRST" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SECOND" />
</LinearLayout>
<LinearLayout
android:id="@+id/LinearLayout_acc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/ProgressBar_statusScreen"
android:layout_centerHorizontal="true" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="THIRD" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="FOURTH" />
</LinearLayout>
<ProgressBar
android:id="@+id/ProgressBar_statusScreen"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="16dp" />
</RelativeLayout>
También verifique el siguiente this . Dice que android: layout_below = "@ id / myTextView" no reconocerá un elemento con id "myTextView" si está escrito después del elemento en el que lo está utilizando.
cambio
@id/LinearLayout_acc
a
@+id/LinearLayout_acc
<LinearLayout
android:id="@+id/LinearLayout_dist"
android:layout_above="@+id/LinearLayout_acc" <--- here might be a problem you forgot + sign
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="10dp" >