There is a class in which I add elements to the list, after which selecting them in the checkbox with a tick, I can delete the selected elements with a single button. But I would like instead of the checkbox to place the delete button (done) and by clicking on this button delete a specific item from the list. Help to convert the code please.

public class MainActivity extends ListActivity { ArrayList list = new ArrayList(); ArrayAdapter adapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button) findViewById(R.id.btnAdd); Button btnDel = (Button) findViewById(R.id.btnDel); adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_multiple_choice, list); View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View v) { EditText edit = (EditText) findViewById(R.id.txtItem); list.add(edit.getText().toString()); edit.setText(""); adapter.notifyDataSetChanged(); } }; View.OnClickListener listenerDel = new View.OnClickListener() { @Override public void onClick(View v) { SparseBooleanArray checkedItemPositions = getListView().getCheckedItemPositions(); int itemCount = getListView().getCount(); for (int i = itemCount - 1; i >= 0; i--) { if (checkedItemPositions.get(i)) { adapter.remove(list.get(i)); } } checkedItemPositions.clear(); adapter.notifyDataSetChanged(); } }; btn.setOnClickListener(listener); btnDel.setOnClickListener(listenerDel); setListAdapter(adapter); } 

}

  • in the adapter, set the listener on the button, and remove the element from the adapter by position - Vladyslav Matviienko
  • btnDel.setOnClickListener (listenerDel); installed, in the adapter code like so we delete on a position adapter.remove (list.get (i))? + I try to remove this check box - does not come out ( - Inkognito
  • I do not know how in the adapter. I do not see the adapter code. - Vladyslav Matviienko
  • you have to make a custom adapter, and override its getView method - Vladyslav Matviienko
  • Is it really that hard? In the same class can not be like to implement? Why do I need this method? - Inkognito

0