Android – problemas con la clase R
Estoy tratando de codificar algunas cosas básicas (listView y similares) en Android. Mi problema es el siguiente:
1. Cualquier recurso que escribo (por ejemplo, un archivo xml que especifique el contenido de un listView o un botón) se registra en la clase R pero eclipse lo marca como un error cuando intento usarlo.
Ejemplo:
- Cómo crear un efecto de recuento para un textView en Android
- Android: Cómo implementar el dibujo en la parte superior de la imagen
- Cómo lograr una reproducción de audio sin interrupciones entre bucle en Android
- StateListDrawable para cambiar filtros de color
- ¿Cómo alineo dos hiladores uniformemente? (% 50-% 50)
Diseño relativo xml:
<?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"> <ListView android:id="@android:id/android:list" android:textFilterEnabled="true" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:dividerHeight="3dp" /> <TextView android:id="@+id/simpleText" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" android:textSize="16sp" > </TextView> <Button android:id="@+id/nextButton" android:text="@string/next" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_centerVertical="true" /> </RelativeLayout>
El código es el siguiente:
public class sample extends ListActivity { /** Called when the activity is first created. */ private Button nxtButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.v(this.toString(), "Inside the function."); nxtButton = (Button)findViewById(R.id.nextButton); nxtButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //This method is to change to the next screen. Log.v(this.toString(), "The next button has been clicked. Taking you to the next screen."); } }); } }
R.java parece así:
public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class id { public static final int nextButton=0x7f050001; public static final int simpleText=0x7f050000; } public static final class layout { public static final int relLayout=0x7f030000; public static final int list_item=0x7f030001; public static final int main=0x7f030002; } public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; public static final int nextButton=0x7f040002; } }
Mi problema es el siguiente:
1. Aunque el siguiente botón está registrado en R.java, recibo un error cada vez que intento hacer un findViewById
en cualquier recurso que he definido. La construcción del proyecto también no arroja ningún resultado.
El error que obtengo es: nextButton cannot be resolved or is not a field
Me he encontrado con algunas preguntas sobre SO en estas líneas, pero ninguno cuyas soluciones he podido utilizar con éxito.
- ¿Puedo configurar android: layout_toLeftOf programatically?
- Android Wear - Añadir icono por encima de CardFragment
- Ocultar barra de estado de Android
- Coloque 2 botones de radio uno al lado del otro (en una "línea") en una disposición vertical
- Definir un estilo personalizado (tema) en un componente de conmutador Android
- Android: fitsSystemWindows y newline interfieren con bottomSheets
- El pie de página sube cuando se muestra el teclado
- Android: estirando una pila simple de cajas?
Debe asegurarse de que ha importado su clase R java, no android.R
.
Elimine las importaciones falsas de R en la parte superior de las clases Java. Si ese no es el problema, elimine su archivo R y actualice el proyecto (haga clic con el botón derecho del ratón -> actualizar).