Ayuda con position de setOnItemClickListener
Publicado por Acert (1 intervención) el 06/08/2020 03:27:19
Muy Buenas, tengo una aplicación con una base de datos SQLite de una lista de personas con sus datos y tiene un SearchView, al presionar un nombre de la lista se abre un Activity con los datos del usuario, hasta ahi funciona perfectamente, el problema viene cuando se presiona el nombre desde los resultados de búsqueda, el Activity se abre con los datos de la persona con la misma posición en la lista inicial
O sea: En la imagen de ejemplo la busqueda dio Cindy y Milciades, si presiono Cindy aparecen los datos de Marta quien está en la posicion 1 del listado original, si presiono Milciades que aparece segundo entonces muestra los datos de Cindy quien está segunda en la lista inicial

El OnItemClick envia los datos de la posicion del listado inicial y no de los resultados de busqueda
Aquí esta el evento click en el Activity 1 (origen)
Aquí el Activity 2 (destino)
me podrian ayudar a ver que debo modificar, muchas gracias de antemano
O sea: En la imagen de ejemplo la busqueda dio Cindy y Milciades, si presiono Cindy aparecen los datos de Marta quien está en la posicion 1 del listado original, si presiono Milciades que aparece segundo entonces muestra los datos de Cindy quien está segunda en la lista inicial

El OnItemClick envia los datos de la posicion del listado inicial y no de los resultados de busqueda
Aquí esta el evento click en el Activity 1 (origen)
1
2
3
4
5
6
7
8
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
Intent intent = new Intent(MainActivity.this, FotografoActivity.class);
intent.putExtra("datosfotografos", (Parcelable) mFotografoList.get(position));
startActivity(intent);
}
});
Aquí el Activity 2 (destino)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class FotografoActivity extends AppCompatActivity {
private FotografoModelo Item;
private TextView tvNombre;
private TextView tvCategoria;
private TextView tvProvincia;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fotografo);
Item = (FotografoModelo) getIntent().getParcelableExtra("datosfotografos");
tvNombre = (TextView) findViewById(R.id.nombre);
tvCategoria = (TextView) findViewById(R.id.categoria);
tvProvincia = (TextView) findViewById(R.id.provincia);
tvNombre.setText(Item.getNombre());
tvCategoria.setText(Item.getCategoria());
tvProvincia.setText(Item.getProvincia());
}
}
me podrian ayudar a ver que debo modificar, muchas gracias de antemano
Valora esta pregunta


0