"ArrayAdapter requiere que el identificador de recurso sea un TextView" xml problems

Estoy recibiendo un error al intentar establecer mi vista para mostrar el ListView para el archivo que quiero mostrar (archivo de texto). Estoy bastante seguro de que tiene algo que ver con el xml. Sólo quiero mostrar la información de this.file = fileop.ReadFileAsList("Installed_packages.txt"); . Mi código:

 public class Main extends Activity { private TextView tv; private FileOperations fileop; private String[] file; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.fileop = new FileOperations(); this.file = fileop.ReadFileAsList("Installed_packages.txt"); setContentView(R.layout.main); tv = (TextView) findViewById(R.id.TextView01); ListView lv = new ListView(this); lv.setTextFilterEnabled(true); lv.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, this.file)); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // When clicked, show a toast with the TextView text Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_SHORT).show(); } }); setContentView(lv); } } 

List_item.xml :

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:padding="10dp" android:textSize="16sp" android:textColor="#000"> </LinearLayout> 

Main.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" android:weightSum="1"> <ScrollView android:id="@+id/SCROLLER_ID" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scrollbars="vertical" android:fillViewport="true"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="5sp" android:id="@+id/TextView01" android:text="@string/hello"/> </ScrollView> </LinearLayout> 

El ArrayAdapter requiere que la ID del recurso sea una excepción TextView XML significa que no proporciona lo que espera el ArrayAdapter . Cuando utiliza este constructor:

 new ArrayAdapter<String>(this, R.layout.a_layout_file, this.file) 

R.Layout.a_layout_file debe ser el id de un archivo de diseño xml que contenga solo un TextView (el TextView no puede ser envuelto por otro diseño, como LinearLayout , RelativeLayout , etc.), algo así:

 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" // other attributes of the TextView /> 

Si desea que su diseño de fila de lista sea algo un poco diferente, entonces un simple widget de TextView usará este constructor:

 new ArrayAdapter<String>(this, R.layout.a_layout_file, R.id.the_id_of_a_textview_from_the_layout, this.file) 

Donde se proporciona el id de un diseño que puede contener varias vistas, pero también debe contener un TextView con e id (el tercer parámetro) que pasa a su ArrayAdapter para que pueda saber dónde poner las Strings en el diseño de la fila.

Sución está aquí

Listitem.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/textview" android:layout_width="match_parent" android:layout_height="match_parent" > </TextView> </LinearLayout> 

Código Java:

  String[] countryArray = {"India", "Pakistan", "USA", "UK"}; ArrayAdapter adapter = new ArrayAdapter<String>(this, R.layout.listitem,R.id.textview, countryArray); ListView listView = (ListView) findViewById(R.id.listview); listView.setAdapter(adapter); 
  • Android - Centro de vista de texto en LinearLayout
  • El contenido favorito no se muestra correctamente en la vista web
  • ¿Crear una vista personalizada inflando un diseño?
  • ¿Cómo puedo añadir una línea blanca 1px horizontal debajo del botón en un diseño relativo?
  • Error al importar el tipo de lista en un archivo xml mediante la vinculación de datos de Android
  • Cómo analizar el XML de SimpleXML
  • ¿Qué es "tools: context" en los archivos de diseño de Android?
  • Corregir Error en styles.xml para generar R.java: Ningún recurso encontrado nombre 'Theme.AppCompat.Light'
  • Cómo poner dos EditText en la misma línea
  • Obtención de recursos de / res en dependencia
  • Conflicto strings.xml en el manifiesto de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.