Usuwanie wielu elementów z widoku listy za pomocą pola wyboru w Androidzie
Hi utknąłem przy usuwaniu wielu elementów z listview przy użyciu pola wyboru. Jestem w stanie wybrać wiele elementów z listview, ale tylko pierwszy wybrany element jest usuwany, podczas gdy inne elementy nie są usuwane. Oto mój kod. Z góry dziękuję!
public class MainActivity extends Activity
{
ListView lv;
ArrayAdapter<String> adapter;
Button delete;
ArrayList<String> data = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView)findViewById(R.id.listView1);
delete = (Button)findViewById(R.id.button1);
data.add("Windows");
data.add("Android");
data.add("Apple");
data.add("Blackberry");
adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_multiple_choice, data);
lv.setAdapter(adapter);
delete.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
deleteCheckedItems();
adapter.notifyDataSetChanged();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
private void deleteCheckedItems() {
int count = adapter.getCount();
for (int i = 0; i < count; i++)
{
if (lv.isItemChecked(i))
{
data.remove(i);
}
}
}
}