I have a activity, in which it has a button, on click of the button the app crashes problem is on line adapter.remove(list.get(i));
Logcat detail mention NullPointerException on the given line adapter.remove(list.get(i));
   package com.example.veeresh.myphotogallery;
   import android.app.ListActivity;
   import android.os.Bundle;
   import android.util.SparseBooleanArray;
   import android.view.View;
   import android.view.View.OnClickListener;
   import android.widget.ArrayAdapter;
   import android.widget.Button;
   import android.widget.EditText;
   import java.util.ArrayList;
   public class MainActivity extends ListActivity {
/** Items entered by the user is stored in this ArrayList variable */
ArrayList list = new ArrayList();
/** Declaring an ArrayAdapter to set items to ListView */
ArrayAdapter adapter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    /** Setting a custom layout for the list activity */
    setContentView(R.layout.activity_main);
    /** Reference to the add button of the layout main.xml */
    Button btn = (Button) findViewById(R.id.btnAdd);
    /** Reference to the delete button of the layout main.xml */
    Button btnDel = (Button) findViewById(R.id.btnDel);
    /** Defining the ArrayAdapter to set items to ListView */
    adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_multiple_choice, list);
    adapter.add("Item 1");
    /** Defining a click event listener for the button "Add" */
    OnClickListener listener = new OnClickListener() {
        @Override
        public void onClick(View v) {
            EditText edit = (EditText) findViewById(R.id.txtItem);
            list.add(edit.getText().toString());
            edit.setText("");
            adapter.notifyDataSetChanged();
        }
    };
    /** Defining a click event listener for the button "Delete" */
    OnClickListener listenerDel = new OnClickListener() {
        @Override
        public void onClick(View v) {
            /** Getting the checked items from the listview */
            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();
        }
    };
    /** Setting the event listener for the add button */
    btn.setOnClickListener(listener);
    /** Setting the event listener for the delete button */
    btnDel.setOnClickListener(listenerDel);
    /** Setting the adapter to the ListView */
    setListAdapter(adapter);
}
}
 
     
     
    