Передача параметра onclick listener на кнопку в строке списка

Я просто начал андроид, и у меня проблемы.
Я создал ListView который заполняется из базы данных.
В каждой строке есть кнопка для удаления элемента из списка и базы данных.

Я могу подключить прослушиватель событий к кнопке, но я не смог определить соответствующую запись базы данных, которую нужно удалить.

Мой класс показан ниже

 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: "); } 

Итак, как я могу передать идентификатор записи базы данных обработчику, чтобы я мог использовать адаптер базы данных для его удаления?

Solutions Collecting From Web of "Передача параметра onclick listener на кнопку в строке списка"

Вы должны сохранить идентификатор записи в теге, вызвать setTag() в своем представлении и прочитать в onclick call getTag()

Создайте внутренний класс, который реализует OnClickListener, а затем передайте переменную position в конструкторе.

  private Class MyClickListener implements OnClickListener { private int position; public MyClickListener(int position) { this.position = position; } public void onClick(View v) { System.out.println("position " + getPosition() + " clicked."); } public int getPosition() { return position; } }