"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); 
  • El color del elemento de menú NavigationView no cambia en API 15
  • Fondo transparente en ImageButton con efecto de ondulación?
  • ¿Cómo extraer datos de un artículo de Wikipedia?
  • Android: DOM vs SAX vs análisis XMLPullParser?
  • InvocationTargetException sobre inflar un xml - android
  • Creación de líneas punteadas horizontales y verticales en android
  • Obtener atributos con estilo para el niño de la definición de estilo de los padres
  • Android L's Ripple Effect - Touch Feedback para los botones - Uso de XML
  • Edición de css en una página de configuración para un programa basado en web en Android
  • Error al analizar XML: no se ha encontrado ningún elemento
  • No se puede reanudar la actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.