Capitulo 22 del Módulo 3 Aplicación Android - Lector QR

➜ 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:

  1. Ordenar el código de sincronización JSON - SLite
  2. Implementación del evento Clic para cada item del ListView
  3. Paso de variables entre actividades
  4. 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

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Comprar

¡Qué aprenderás?

tooltip bs-tooltip-top bs-tooltip-end bs-tooltip-bottom bs-tooltip-start show fade tooltip-inner

Codea Applications

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú