public class ListAddDel extends Activity{
 ArrayList<String> items;
 ArrayAdapter<String> adapter;
 ListView list;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.widget_listadddel);
       
        items = new ArrayList<String>();
        items.add("First");
        items.add("Second");
        items.add("Third");
       
        adapter = new ArrayAdapter<String>(
         this, android.R.layout.simple_list_item_multiple_choice, items
        );
        list = (ListView)findViewById(R.id.list);
        list.setAdapter(adapter);
        list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
        list.setOnItemClickListener(itemClick);
        findViewById(R.id.add).setOnClickListener(click);
        findViewById(R.id.delete).setOnClickListener(click);
    }
    View.OnClickListener click = new View.OnClickListener(){
     public void onClick(View v) {
      EditText ed = (EditText)findViewById(R.id.newitem);
      switch (v.getId()) {
   case R.id.add:
    String txt = ed.getText().toString();
    if(txt.length()!=0){
     items.add(txt);
     ed.setText("");
     adapter.notifyDataSetChanged();
    }
    break;
   case R.id.delete:
    for(int i=0; i < items.size(); i++){
     SparseBooleanArray check = list.getCheckedItemPositions();
     System.out.println("check.get(i)"+check.get(i));
     if(check.get(check.keyAt(i))){
      items.remove(i);
     }
    }
    adapter.notifyDataSetChanged();
    list.clearChoices();
    break;
   }
     };
    };
   
    AdapterView.OnItemClickListener itemClick = new AdapterView.OnItemClickListener(){
     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
      String mes;
      mes = "Select Item = " + items.get(arg2);
      System.out.println(mes);
     }
    };
}