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.

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> 

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

  • Android, UTF8 - ¿Cómo puedo asegurar que UTF8 se utiliza para una preferencia compartida
  • Cómo rotar un objeto Rect en Android
  • ¿Error al enviar archivos a través de bluetooth en android?
  • Cómo cambiar de HttpClient a HttpUrlConnection
  • ¿Cómo puedo saber si mi contexto sigue siendo válido?
  • W / CameraBase: Se ha producido un error al conectar la cámara: 0
  • ¿Utilizar un carácter unicode en un archivo .java?
  • Cómo cambiar elementos en un ArrayList
  • Android Studio: qué configuración del compilador al incluir Google Maps
  • Aplicación para Android Just After Boot
  • Uso de la biblioteca Joda-Time para convertir la cadena al formato DateTime en Google Tasks API
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.