Android java.lang.ClassCastException: android.widget.LinearLayout no se puede convertir en android.widget.TextView

Estoy intentando imprimir el valor que se ha chascado encendido en el listView, pero entonces estoy consiguiendo la excepción siguiente:

07-04 10:40:56.482: E/AndroidRuntime(1356): FATAL EXCEPTION: main 07-04 10:40:56.482: E/AndroidRuntime(1356): java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.TextView 07-04 10:40:56.482: E/AndroidRuntime(1356): at com.passwordkeeper.ui.ActivityHomeScreen$1.onItemClick(ActivityHomeScreen.java:88) 

He aquí un fragmento de código:

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mTextView = (TextView) findViewById(R.id.labelList); db = new DatabaseHandler(this); createList(); displayList(); } 

La función createList funciona correctamente. Aquí está mi método displayList:

 public void displayList(){ this.setListAdapter(new ArrayAdapter<String>(this, R.layout.activity_home_screen, R.id.listTextView, mAccountNames)); mListView = getListView(); mListView.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String product = ((TextView) view).getText().toString(); Log.v("mSelectedProduct", product); } }); } 

Mi código xml para el archivo activity_home_screen.xml es:

 <?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" > <TextView android:id="@+id/listTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="28dp" android:layout_marginTop="26dp" android:textAppearance="?android:attr/textAppearanceLarge" /> 

¡Cualquier ayuda sería útil!

Gracias.

Puedes probar esto

 mListView.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView<?> parent, View view, int position, long id) { TextView txtview = (TextView)view.findViewById(R.id.listTextView); String product = txtview.getText().toString(); Log.v("mSelectedProduct", product); } }); 

Utilizar esta:

 String product = ((TextView) view.findViewById(R.id.listTextView)).getText().toString(); 

La vista que está recibiendo en OnItemClickListener devolverá la disposición principal, que es LinearLayout en su caso.

puede obtener su texto haciendo lo siguiente:

 mListView.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView<?> parent, View view, int position, long id) { TextView txtview = (TextView)view.findViewById(R.id.listTextView); String product = txtview.getText().toString(); Log.v("mSelectedProduct", product); } }); 
 mListView.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView<?> parent, View view, int position, long id) { TextView textview= (TextView)view.findViewById(R.id.TEXTVIEW_ID); String product = textView.getText().toString(); Log.v("mSelectedProduct", product); } }); 

Reemplace "TEXTVIEW_ID" por el id de la vista de texto que ha dado en el elemento xml de la vista de lista (si no se da, escriba uno).

  • Altura de la vista del encabezado en un ListView
  • Lista de preferencias sólo muestra el primer elemento
  • ¿Cómo puede escuchar los eventos de clic en un ListView que se producen fuera de los elementos de la lista?
  • setChoiceMode (ListView.CHOICE_MODE_SINGLE) ¿Cómo cancelar la selección?
  • ¿Establecer etiquetas para cada elemento en un ListView en Android?
  • Lista de contactos con contacto La foto crea problemas de rendimiento
  • ¿Cómo evitar un doble toque en un ListView?
  • Artículos de Android ListView que no llenan el ancho
  • Utilizar adaptador de matriz con más vistas en fila en listview
  • Cómo obtener la posición del elemento de la lista en el método onGesturePerformed?
  • Cómo desplazar el fondo de la lista con el elemento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.