He creado un archivo xml como este:
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/list" >
</ListView>
y una actividad:
public class ExampleActivity extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainlist);
}
}
Como ves, no he hecho nada más. Pero obtengo el error:
Su contenido debe tener un ListView cuyo atributo de identificación sea 'android.R.id.list'
Aunque tengo la android:id="@+id/list"
línea en mi xml.
¿Cuál es el problema?
android
android-listview
Isa Kuru
fuente
fuente
@android
, Eclipse dicelist cannot be resolved or is not a field
Debería tener una vista de lista en su
mainlist.xml
archivo con ID como@android:id/list
fuente
Esto debería solucionar tu problema
fuente
La forma exacta en que lo arreglé se basó en los comentarios anteriores, ya que al principio no pude hacerlo funcionar:
activity_main.xml:
MainActivity.java:
preferencias.xml:
fuente
Heredar clase de actividad en lugar de ListActivity puede resolver este problema.
fuente
fuente
Otra cosa que me afectó: si tiene varios dispositivos de prueba, asegúrese de realizar cambios en el diseño utilizado por el dispositivo. En mi caso, pasé un tiempo haciendo cambios en xmls en el directorio "diseño" hasta que descubrí que mi teléfono más grande (que cambié a la mitad de las pruebas) estaba usando xmls en el directorio "diseño-sw360dp". Grrr!
fuente