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

}

questionAnswers(4)

yourAnswerToTheQuestion