Java.lang.IllegalStateException: ArrayAdapter requiere que el identificador de recurso sea un TextView
He intentado este tutorial http://windrealm.org/tutorials/android/android-listview.php "Un Simple Android ListView Ejemplo"
Pero en mi prueba en Eclipse he fallado en la aplicación Android.
- Cómo manejar arrastrar en una aplicación de ajedrez Android?
- ¿Cómo reconstruir o restablecer caché Observable, utilizado con Retrofit para obtener nuevos datos?
- Inserción de un elemento en una lista ordenada
- Cómo descifrar AndroidManifest.xml
- Cómo devolver Java.Lang.Object de un método anulado en MonoDroid
En LogCat tengo esto:
04-11 20:17:24.170: E/AndroidRuntime(7062): java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView
¿Por qué el accidente?
Clase java
private ListView mainListView; private ArrayAdapter<String> listAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mains); mainListView = (ListView) findViewById(R.id.mainListView); String[] xRemote = Remote.split(";"); ArrayList<String> planetList = new ArrayList<String>(); planetList.addAll(Arrays.asList(xRemote)); listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, planetList); listAdapter.addAll(xRemote); mainListView.setAdapter(listAdapter);
Mains.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ListView android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/mainListView"> </ListView </LinearLayout>
Simplerow.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/rowTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="10dp" android:textSize="16sp" > </TextView> </LinearLayout>
- ¿Cómo obtengo diferencias entre dos objetos json usando GSON?
- ¿Trabajando sobre las propiedades de los objetos en una lista?
- Obtener el idioma del teclado o detectar el idioma de entrada del usuario en Android
- No se puede ejecutar dex: varios archivos dex definen Lcom / facebook / android / AsyncFacebookRunner $ 1;
- java.lang.ClassCastException: libcore.net.http.HttpURLConnectionImpl no se puede convertir en javax.net.ssl.HttpsURLConnection
- Acercar a los marcadores google map V2
- Error del compilador: com.sun.tools.javac.code.Symbol $ CompletionFailure: archivo de clase para rx.Observable no encontrado
- Cómo agregar una segunda lista desplegable a la barra de acción en Android Honeycomb?
Utilizar
listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, R.id.rowTextView, planetList);
La documentación dice:
De forma predeterminada, esta clase espera que el identificador de recurso proporcionado haga referencia a una sola TextView. Si desea utilizar un diseño más complejo, utilice los constructores que también toman un ID de campo. Ese identificador de campo debe hacer referencia a un TextView en el recurso de diseño más grande.
En simplerow.xml elimine LinearLayout y utilice directamente TextView como raíz
- ¿Cómo abrir una nueva actividad haciendo clic en un elemento de listview?
- Android: EditText en el problema de ListView