title: Force Close in Landscape Mode, but not in Portrait
body: <p>I have an application which shows a list of items in runtime. When the user presses a <code>Button</code>, all selected items should be deleted (selection determined by <code>CheckBox</code>). In <em>portrait</em> mode everything works well, but when I switch to landscape mode <strong>when the number of rows are more than 3</strong>, pressing the delete button gets the <code>Force Close Exception</code> and I am unable to print the stack trace. <strong>When there are 3 or less rows it works perfectly!</strong> 
  I've written the layout for both <code>layout</code> (portrait) and <code>layout-land</code> directories. Code and Layouts are as follows:</p>
  
  <p>Here is the handler for Delete Button:</p>
  
  <pre><code>   Button DeleteGoods=(Button)findViewById(R.id.DeleteSelectedGoodsButton);
     DeleteGoods.setOnClickListener(new OnClickListener() {
  
          public void onClick(View v) {
              CheckBox cbx = (CheckBox)listView.findViewById(R.id.ChkOrder);
              int firstPosition = listView.getFirstVisiblePosition();
                  for (int i = firstPosition; i &lt; listView.getCount(); i++) {
  
                      View v1 = listView.getChildAt(i);
  
                      cbx = (CheckBox)v1.findViewById(R.id.ChkOrder);
                      if(cbx.isChecked())
                          checkedItemPosition=i;                  
                  }
                  try {
  
                      DeleteCheckedItem(checkedItemPosition);
  
                      Toast.makeText(getApplicationContext(),"The selected order has been deleted successfully.", Toast.LENGTH_SHORT).show();
  
                      finish();
                      startActivity(getIntent());
                  } catch (Exception e) {
  
                      Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();
                  }
  
  
          }
  
      });
  </code></pre>
  
  <p>Here is the layout in landscape mode:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  
      &lt;RelativeLayout
          xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:background="#000000" &gt;
          &lt;Button 
              android:id="@+id/DeleteSelectedGoodsButton"
              android:layout_width="150dp"
              android:layout_height="45dp"
              android:text="@string/DeleteSelectedGoods"
              android:layout_alignParentTop="true"
              android:layout_alignParentLeft="true" /&gt;
          &lt;Button 
              android:id="@+id/ConfirmDelete"
              android:layout_width="150dp"
              android:layout_height="45dp"
              android:text="@string/ConfirmDeleteButton"
              android:layout_alignParentTop="true"
              android:layout_centerHorizontal="true" /&gt;
          &lt;Button 
              android:id="@+id/CancelButton"
              android:layout_width="150dp"
              android:layout_height="45dp"
              android:text="@string/CancelButton"
              android:layout_alignParentTop="true"
              android:layout_alignParentRight="true" /&gt;
          &lt;TextView 
              android:id="@+id/aa"
              android:layout_height="wrap_content"
              android:layout_width="wrap_content"
              android:layout_below="@id/CancelButton" /&gt;
  
          &lt;TextView 
              android:id="@+id/GOODNAME_CELL"
              android:layout_width="180dp"
              android:layout_height="wrap_content"
              android:background="@drawable/border"
              android:textSize="18dp"
              android:text="Order"
              android:paddingLeft="5dp"
              android:layout_below="@id/aa"
              android:layout_alignParentLeft="true" /&gt;
           &lt;TextView 
              android:id="@+id/GOODUNITPRICE_CELL"
              android:layout_width="180dp"
              android:layout_height="wrap_content"
              android:background="@drawable/border"
              android:textSize="18dp"
              android:text="Unit Price"
              android:paddingLeft="5dp"
              android:layout_below="@id/aa"
              android:layout_toRightOf="@id/GOODNAME_CELL" /&gt;
           &lt;TextView 
              android:id="@+id/QUANTITYCELL"
              android:layout_width="120dp"
              android:layout_height="wrap_content"
              android:background="@drawable/border"
              android:textSize="18dp"
              android:text="Quantity"
              android:paddingLeft="5dp"
              android:layout_below="@id/aa"
              android:layout_toRightOf="@id/GOODUNITPRICE_CELL" /&gt;
           &lt;ListView 
          android:id="@android:id/list"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          style="@style/CodeFont"
          android:layout_alignParentLeft="true"
          android:layout_below="@id/GOODUNITPRICE_CELL" /&gt;
  
           &lt;TextView
              android:id="@+id/TotalPriceTextview"
              android:layout_width="600dp"
              android:layout_height="wrap_content"
              android:text=""
              android:layout_alignParentBottom="true"
              android:layout_centerHorizontal="true"
              android:background="@drawable/back"
              android:textColor="#FFFFFF"
              android:textSize="20dp" /&gt;
  
      &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>This is the exception I am getting:</p>
  
  <pre><code>02-19 10:07:11.398: E/AndroidRuntime(4335): FATAL EXCEPTION: main
  02-19 10:07:11.398: E/AndroidRuntime(4335): java.lang.NullPointerException
  02-19 10:07:11.398: E/AndroidRuntime(4335):     at com.example.nfc.PrepopSqliteDbActivity$1.onClick(PrepopSqliteDbActivity.java:117)
  02-19 10:07:11.398: E/AndroidRuntime(4335):     at android.view.View.performClick(View.java:2552)
  02-19 10:07:11.398: E/AndroidRuntime(4335):     at android.view.View$PerformClick.run(View.java:9229)
  02-19 10:07:11.398: E/AndroidRuntime(4335):     at android.os.Handler.handleCallback(Handler.java:587)
  02-19 10:07:11.398: E/AndroidRuntime(4335):     at android.os.Handler.dispatchMessage(Handler.java:92)
  02-19 10:07:11.398: E/AndroidRuntime(4335):     at android.os.Looper.loop(Looper.java:138)
  02-19 10:07:11.398: E/AndroidRuntime(4335):     at android.app.ActivityThread.main(ActivityThread.java:3701)
  02-19 10:07:11.398: E/AndroidRuntime(4335):     at java.lang.reflect.Method.invokeNative(Native Method)
  02-19 10:07:11.398: E/AndroidRuntime(4335):     at java.lang.reflect.Method.invoke(Method.java:507)
  02-19 10:07:11.398: E/AndroidRuntime(4335):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
  02-19 10:07:11.398: E/AndroidRuntime(4335):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
  02-19 10:07:11.398: E/AndroidRuntime(4335):     at dalvik.system.NativeStart.main(Native Method)
  02-19 10:07:11.408: W/ActivityManager(1768):   Force finishing activity com.example.nfc/.PrepopSqliteDbActivity
  02-19 10:07:11.909: W/ActivityManager(1768): Activity pause timeout for HistoryRecord{40b2ed78 com.example.nfc/.PrepopSqliteDbActivity}
  02-19 10:07:16.353: I/InputDispatcher(1768): Application is not responding: Window{40a73e60 com.example.nfc/com.example.nfc.PrepopSqliteDbActivity paused=false}.  5004.7ms since event, 5004.4ms since wait started
  02-19 10:07:16.353: I/InputDispatcher(1768): Dropping event because the pointer is not down.
  02-19 10:07:16.353: I/InputDispatcher(1768): Dropping event because the pointer is not down.
  02-19 10:07:16.353: I/WindowManager(1768): Input event dispatching timed out sending to com.example.nfc/com.example.nfc.PrepopSqliteDbActivity
  02-19 10:07:16.353: I/ActivityManager(1768): Crashing app skipping ANR: ProcessRecord{40a1b188 4335:com.example.nfc/10003} keyDispatchingTimedOut
  02-19 10:07:21.428: W/ActivityManager(1768): Launch timeout has expired, giving up wake lock!
  02-19 10:07:21.908: W/ActivityManager(1768): Activity idle timeout for HistoryRecord{40a1b7d8 com.example.nfc/.Buy}
  02-19 10:07:26.963: I/touchd(1518): 'ab8500_usb' is online
  02-19 10:07:26.963: I/touchd(1518): handling_uevent: event is 1
  </code></pre>
  
  <p><strong>Edit</strong></p>
  
  <p>This is line 117:</p>
  
  <pre><code>DeleteCheckedItem(checkedItemPosition);
  </code></pre>
  
  <p>and this is the method's body:</p>
  
  <pre><code>private void DeleteCheckedItem(int chkPosition)
  {   
      String strName=goods.get(chkPosition).get(GOOD_NAME);
      String strPrice=goods.get(chkPosition).get(GOOD_UNITPRICE);
      String strQuantity=goods.get(chkPosition).get(QUANTITY);
      String whereClause = "GOOD_NAME = ? AND GOOD_UNITPRICE= ? AND QUANTITY= ?";
      String[] whereArgs = {strName,strPrice,strQuantity};
      database.delete(TABLE_NAME, whereClause, whereArgs);
  }
  </code></pre>