title: How to delete item from listview with delete button android
body: <p>I want to add items to the listview underneath the edittext. 
  This works perfectly. </p>
  
  <p>Now I would like to be able to delete some entry's. Here is were I cant figure out how it is done. I was implementing the <code>onclicklistener</code> for the delete button but the program keeps crashing. I think this is because the delete button doesn't exist already. 
  I tried finding stuff online but never have I gotten an answer that I could use.
  I you could help me out that would be a huge help. </p>
  
  <p>PS: not all this code is from me, found some example code on: <a href="http://wptrafficanalyzer.in/blog/dynamically-add-items-to-listview-in-android/" rel="nofollow">http://wptrafficanalyzer.in/blog/dynamically-add-items-to-listview-in-android/</a></p>
  
  <p>Here is my main activity:</p>
  
  <pre><code>    /** Note that here we are inheriting ListActivity class instead of Activity class **/
      public class MainActivity extends ListActivity {
      Button del;
      ListView lv;
  
      /** Items entered by the user is stored in this ArrayList variable */
      ArrayList&lt;String&gt; list = new ArrayList&lt;String&gt;();
  
  
  
  
  
      /** Declaring an ArrayAdapter to set items to ListView */
      ArrayAdapter&lt;String&gt; 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.main);
  
          del = (Button) findViewById(R.id.removeButton);
  
          /** Reference to the button of the layout main.xml */
          Button btn = (Button) findViewById(R.id.btnAdd);
  
          /** Defining the ArrayAdapter to set items to ListView */
          adapter = new ArrayAdapter&lt;String&gt;(this, R.layout.item, R.id.nameText, list);
  
          /** 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();
  
              }
          };
  
  
  
          del.setOnClickListener(new OnClickListener() {
  
              @Override
              public void onClick(View v) {
  
                  int pos = v.getId();
                  System.out.println(pos);
                  Object toRemove = adapter.getItem(pos);
                  adapter.remove(toRemove);
              }
          });
  
  
          /** Setting the event listener for the add button */
          btn.setOnClickListener(listener);
  
          /** Setting the adapter to the ListView */
          setListAdapter(adapter);
      }
  }
  </code></pre>
  
  <p>Here are my xml files:
  Main.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  
  &lt;RelativeLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical" &gt;
  
      &lt;EditText
          android:id="@+id/txtItem"
          android:layout_width="240dp"
          android:layout_height="wrap_content"
          android:inputType="text"
          android:hint="@string/hintTxtItem"
      /&gt;
  
      &lt;Button
          android:id="@+id/btnAdd"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:text="@string/lblBtnAdd"
          android:layout_toRightOf="@id/txtItem"
          android:onClick="removeAtomPayOnClickHandler"
  
      /&gt;
  
      &lt;ListView
          android:id="@android:id/list"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_below="@id/txtItem"
      /&gt;
  
      &lt;TextView
          android:id="@android:id/empty"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_below="@id/txtItem"
          android:text="@string/txtEmpty"
          android:gravity="center_horizontal"
      /&gt;
  
  
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>item.xml</p>
  
  <pre><code> &lt;?xml version="1.0" encoding="utf-8"?&gt;
      &lt;RelativeLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="horizontal" &gt;
  
  
     &lt;TextView 
      android:id="@+id/nameText"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:orientation="vertical"
      android:padding="15dp"
      android:textSize="20sp" &gt;
  
  
     &lt;/TextView&gt;
  
     &lt;Button
      android:id="@+id/removeButton"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/remove"
    android:layout_alignParentRight="true"
  
     /&gt;
  
    &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>Logcat:</p>
  
  <pre><code>11-12 17:37:57.637: D/AndroidRuntime(302): Shutting down VM
  11-12 17:37:57.637: W/dalvikvm(302): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
  11-12 17:37:57.667: E/AndroidRuntime(302): FATAL EXCEPTION: main
  11-12 17:37:57.667: E/AndroidRuntime(302): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.additemsdynami/com.example.additemsdynami.MainActivity}: java.lang.NullPointerException
  11-12 17:37:57.667: E/AndroidRuntime(302):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at android.os.Handler.dispatchMessage(Handler.java:99)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at android.os.Looper.loop(Looper.java:123)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at android.app.ActivityThread.main(ActivityThread.java:4627)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at java.lang.reflect.Method.invokeNative(Native Method)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at java.lang.reflect.Method.invoke(Method.java:521)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at dalvik.system.NativeStart.main(Native Method)
  11-12 17:37:57.667: E/AndroidRuntime(302): Caused by: java.lang.NullPointerException
  11-12 17:37:57.667: E/AndroidRuntime(302):  at com.example.additemsdynami.MainActivity.onCreate(MainActivity.java:69)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
  11-12 17:37:57.667: E/AndroidRuntime(302):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
  11-12 17:37:57.667: E/AndroidRuntime(302):  ... 11 more
  </code></pre>