Я создал ListView, который содержит строку, которая в свою очередь содержит текст и кнопку.
Идея состоит в том, чтобы иметь функцию кнопки в качестве кнопки удаления, чтобы удалить строку
из списка, а также базы данных.
Я заказываю для этого я создал адаптер для обработки нажатия кнопки. Этот код ниже.
Удаление записи базы данных работает нормально, но мне пока не удалось обновить
ListView, поэтому запись больше не будет отображаться.
открытый класс FeedArrayAdapter расширяет ArrayAdapter {
private ARssEReaderDBAdapter dba;
private String TAG = "FeedArrayAdapter";
private View v;
private ListView feedList;
private OnClickListener btnDeleteFeedListener = new OnClickListener(){
public void onClick(View pView) {
dba = new ARssEReaderDBAdapter(getContext());
Integer objInt = (Integer) pView.getTag();
dba.open();
dba.deleteFeed(objInt);
dba.close();
Log.w(TAG, "Database row, " + pView.getTag() + " got clicked.");
}
};
public FeedArrayAdapter(Context context, int textViewResourceId, List<Feed> items) {
super(context, textViewResourceId, items);
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
Log.w(TAG, "getView");
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){
v.setTag(feed.getFeedId());
TextView title = (TextView)v.findViewById(R.id.TextView01);
if (title != null){
title.setText(feed.getTitle());
}
Button btnDelete = (Button)v.findViewById(R.id.btnDelete);
btnDelete.setTag(feed.getFeedId());
btnDelete.setOnClickListener(btnDeleteFeedListener); //
}
return v;
}
}
Любая помощь очень ценится.
Richard