Posición incorrecta de elementos después de usar un customAdapter

Este es el tutorial que he utilizado: http://www.tutorialsbuzz.com/2014/08/filter-custom-listviewbaseadapter.html

Y le implementé un onItemClickListener

  OnItemClickListener myListViewClicked = new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { String member_name = countrylist.get(position).getName(); // get Internet status isInternetPresent = cd.isConnectingToInternet(); if (isInternetPresent) { if (member_name.equals("aa")) { Intent i = new Intent(Listview.this, Start.class); startActivity(i); displayInterstitial(); } else { prName.show(); } } }; lv.setOnItemClickListener(myListViewClicked); } 

Así, supongamos que mi lista original es

 Aa BB Ca DD 

Y escribo 'a' en el filtro, entonces la lista se convierte en

 Aa Ca 

Pero cuando hago clic en Ca, me redireccionan en BB con acciones adicionales que dependen de .equal para cada elemento de la lista.

Mi código para mi lista y el adaptador de encargo es igual que en el tutrial, pero el oyente del onclickitem, lo he implemeneted, así que pienso im falta algo en él. Traté de buscar y encontré pareja de la misma quesiton, pero ninguno respondió, cada uno con auto-respuesta que era diferente a la mía y no podía aplicarlo a mi adaptador cusotm.

Es principalmente porque su acceso al conjunto de datos directamente.

  String member_name = countrylist.get(position).getName(); 

Durante el filtrado es probable que instanciar y la nueva Collection reemplaza la referencia que está utilizando en su Activity .

Utilizar

 String member_name = ((Country)parent.getItemAtPosition(position)).getName(); 

Y funcionará.

parent.getItemAtPosition(position) accede al conjunto de datos subyacente en su Adapter , si su getItem se implementa correctamente

Puedes usar

 String memberName=(YourObject)parent.getAdapter().get(postion).getName; 

es fácil.

  • Filtrado de la vista de lista y obtención del elemento onclick correcto
  • SwapCursor undefined error
  • Casilla de verificación desmarcada cuando hago scrolllistview en Android
  • Cambiar indicador expandible en ExpandableListView
  • Cómo agregar espacio entre los elementos de android listview?
  • Cómo rellenar una vista de lista de una base de datos SQLite
  • Agregue varios textViews (de anchos variables) en relativeLayout uno tras otro
  • uiautomator - no puede obtener ListView para desplazarse como validar el texto en cada elemento de la lista. sólo falla cuando golpeo el último elemento en la pantalla
  • ListView addHeaderView hace que la posición aumente en uno?
  • ¿Cómo actualizar ListView dinámicamente?
  • Desplazar un ListView por píxeles en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.