Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 28/01/13, 19:49:55
Avatar de alfonsosj
alfonsosj alfonsosj no está en línea
Desarrollador
Mensajes: 115
 
Fecha de registro: nov 2009
Mensajes: 115
Mencionado: 0 comentarios
Tagged: 0 hilos
SimpreAdapter + ListView + onItemClick + ImageView

Hola, tengo un ListView que rellena desde una base de datos un SimpleAdapter.
Con onItemClickListener consigo modificar los elementos del item, y tengo en el layout un imageView que me gustaria que al hacer click se hiciera visible o invisible segun su estado, y lo consigo pero debido al recycling del view me hace visibles o invisibles todos los items que se encuentran en la misma posicion de cada view que hay mas abajo cuando hago scroll....

¿Como puedo hacer que solo actue sobre el item sobre el que hago click y no de las demas vistas?

Gracias.
Responder Con Cita


  #2  
Viejo 28/01/13, 20:39:29
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Tu mismo te has respondido, haciendo que no recicle y que cada getView infle Layouts nuevos.

Otra opción es tener por ejemplo un TextView oculto con un texto que indique si debe ser visible o no, y al reciclar hacerlo visible si el texto dice que tiene que ser visible.
Responder Con Cita
  #3  
Viejo 28/01/13, 20:40:30
Avatar de alfonsosj
alfonsosj alfonsosj no está en línea
Desarrollador
Mensajes: 115
 
Fecha de registro: nov 2009
Mensajes: 115
Mencionado: 0 comentarios
Tagged: 0 hilos
Eso es lo que pasa, la teoria la se, pero en la practica llevo dias con este problema y no lo consigo.
Responder Con Cita
  #4  
Viejo 28/01/13, 21:49:01
Avatar de alfonsosj
alfonsosj alfonsosj no está en línea
Desarrollador
Mensajes: 115
 
Fecha de registro: nov 2009
Mensajes: 115
Mencionado: 0 comentarios
Tagged: 0 hilos
Este es mi codigo :

mListView = this.getListView();
mView = getView();

mListView.setAdapter(adapter);
barparams = new ArrayList<NameValuePair>();

setListAdapter(adapter);

final ListView lvi = getListView();
lvi.setTextFilterEnabled(true);

lvi.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

@SuppressWarnings("unchecked")
HashMap<String, String> o = (HashMap<String, String>) lvi.getItemAtPosition(position);

getSherlockActivity().startActionMode(ActionActivi tyCallback);

ImageView checkon = (ImageView) view.findViewById(R.id.checkon);


String checkado = o.get("checked");
if(checkado.equals("0")){
o.put("checked", "1");
checkon.setVisibility(View.VISIBLE);

}
else if(checkado.equals("1")){
o.put("checked", "0");
checkon.setVisibility(View.INVISIBLE);
}


}

}
);
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 22:32:32 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007