➜ Implementar evento click en ListView
¿Cómo programar un Click en un item de un ListView Android? | Cómo implementar un SetOnItenClickListener en un ListView, lo usaremos para mostrar el detalle de un producto elegido. Paso de variables entre actividades
Cómo implementar un SetOnItenClickListener en una ListView
lo usaremos para mostrar el detalle de un producto elegido. :
Tareas a desarrollar:
- Ordenar el código de sincronización JSON - SLite
- Implementación del evento Clic para cada item del ListView
- Paso de variables entre actividades
- Display de datos en la actividad producto.
Parte del código:
Click en listview
lista.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Cursor item = (Cursor) lista.getItemAtPosition(i);
int id= item.getInt(item.getColumnIndexOrThrow("_id"));
//Toast.makeText(getApplicationContext(),"id: "+id,Toast.LENGTH_LONG).show();
startActivity(
new Intent(getApplicationContext()
,ProductoActivity.class)
.putExtra("id",id)
);
}
});
Display de datos en ProductoActivity
public class ProductoActivity extends AppCompatActivity {
private DbManager db;
private Cursor c;
private ImageView _foto;
private TextView _nombre, _descripcion,_precio,_stock;
private ProgressBar _pb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_producto);
_foto = findViewById(R.id.foto);
_nombre = findViewById(R.id.nombre);
_descripcion = findViewById(R.id.descripcion);
_precio = findViewById(R.id.precio);
_stock = findViewById(R.id.stock);
_pb = findViewById(R.id.pb);
int id = getIntent().getExtras().getInt("id");
//Toast.makeText(getApplicationContext(),"ID : "+id,Toast.LENGTH_LONG).show();
db= new DbManager(getApplicationContext());
c = db.getCursor("productos","_id="+id);
if(c.moveToFirst()){
do{
_nombre.setText(c.getString(c.getColumnIndexOrThrow("nombre")));
_descripcion.setText(c.getString(c.getColumnIndexOrThrow("descripcion")));
_precio.setText(c.getString(c.getColumnIndexOrThrow("precio")));
_stock.setText(c.getString(c.getColumnIndexOrThrow("stock")));
Picasso.with(getApplicationContext())
.load("http://yyy.yyy.yyy.yyy/QR/img/"+c.getString(c.getColumnIndexOrThrow("foto")))
.into(_foto, new Callback() {
@Override
public void onSuccess() {
_pb.setVisibility(View.GONE);
}
@Override
public void onError() {
_pb.setVisibility(View.GONE);
}
});
}while (c.moveToNext());
}
}
}
2945 visitas
Capítulo 23 – Inflar un GridView con promociones »
Descarga el código del proyecto
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar