Acabo de iniciar Android y tengo algunos problemas.
He creado un ListView
que se rellena desde una base de datos.
Cada fila tiene un botón para eliminar el elemento de la lista y la base de datos.Pasar un parámetro a onclick oyente en un botón en una fila de vista de lista
Puedo conectar un detector de eventos al botón, pero no he podido determinar el registro de la base de datos correspondiente que se eliminará.
Mi clase se muestra a continuación
public class FeedArrayAdapter extends ArrayAdapter<Feed> implements OnClickListener
{
private ARssEReaderDBAdapter dba;
private String TAG = "FeedArrayAdapter";
public FeedArrayAdapter(Context context, int textViewResourceId, List<Feed> items) {
super(context, textViewResourceId, items);
Log.w(TAG, "List");
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Log.w(TAG, "getView");
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.feedlistrow, null);
}
Feed feed = getItem(position);
if (feed != null) {
TextView title = (TextView)v.findViewById(R.id.TextView01);
if (title != null) {
title.setText(feed.getTitle());
}
Button btnDelete = (Button)v.findViewById(R.id.btnDelete);
btnDelete.setOnClickListener(this); //btnDeleteFeedListener
}
return v;
}
public void onClick(View v) {
Log.w(TAG, "something got clicked: ");
}
Entonces, ¿cómo puedo pasar el registro de identificación de la base de datos al controlador para que pueda utilizar el adaptador de la base de datos para eliminarlo?
Gracias por sus respuestas, las opciones de etiquetas parecían ser los más fáciles de poner en práctica y hace todo lo que quiero que haga :) Gracias de nuevo – Richard
Me gusta esta respuesta porque mi setTag() ya estaba siendo utilizado para otra cosa. –
¡Esto funcionó de maravilla ya que necesitaba pasar más de un valor a un oyente de clic! Gracias – speedynomads