У меня есть listView с кнопкой удаления для каждого элемента.Я хотел бы иметь возможность удалить этот элемент при нажатии кнопки элементов.
Я пытался использовать .remove (position) и [position] = null, но он не работает.Я не уверен, что это потому, что я использовал базу данных и cursorAdapter, или потому что я новичок в Android Studio и просто не знаю, какая переменная должна идти перед .remove.Как я знаю, мой код довольно грязный, но пока работает.
private void populatelistView() {
final Cursor res = userDb.getAllRows();
final String[] fromFeildnames = new String[]{ DatabaseUser.KEY_1, DatabaseUser.KEY_2};
final int[] toViewIds = new int[]{R.id.textViewNum, R.id.textViewItem};
final SimpleCursorAdapter myCursorAdaptor;
myCursorAdaptor = new SimpleCursorAdapter(getBaseContext(), R.layout.item_layout, res, fromFeildnames, toViewIds, 0){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = getLayoutInflater();
View rowView = inflater.inflate(R.layout.item_layout, null, true);
delete= (Button)rowView.findViewById(R.id.deleteItem);
delete.setTag(position);
Cursor cursor = (Cursor) mylist.getItemAtPosition(position);
String listName = cursor.getString(1);
String displayName = db.getName(listName);
TextView textView = (TextView) rowView.findViewById(R.id.textViewItem);
textView.setText(displayName);
View.OnClickListener() {
@Override
public void onClick(View v) {
View parentRow = (View) v.getParent();
ListView listView = (ListView) parentRow.getParent();
final int position = listView.getPositionForView(parentRow);
Cursor cursor = (Cursor) mylist.getItemAtPosition(position);
Toast.makeText(getApplicationContext(), "Button " + position, Toast.LENGTH_SHORT).show();
}
});
return rowView;
}
};
mylist.setAdapter(myCursorAdaptor);
}