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).

  • Cómo hacer Android Ver la lista de diseño de Android L Vista previa de diseño
  • ¿Cómo recargar / refrescar el fragmento que ya se ha mostrado una vez?
  • El clic no está funcionando en el Listtext de Listitem android
  • Cambiar la listaVer el color seleccionado en Android
  • Ocultar ListView Encabezado / Ocultar Single Divider en una lista
  • Fragmento de NavigationDrawer con ListView y encabezado personalizado
  • Android: ¿es posible tener un ListView dentro de un ListView?
  • Listview en el lado de rleft y tabhost en el lado derecho con la proporción de 20:80 compartir pantalla
  • Interferencia de la interfaz de usuario de Listview personalizada
  • Android ListView con 2 TextViews por artículo
  • Crear intención dentro del listview del evento setOnItemClickListener
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.