title: android FATAL EXCEPTION: AsyncTask #2
body: <p>i am coding android app but while using async task it is failing ,i have  one async task  and error is coming in it's doInBackground() method  everything else looks good but doInBackground() method is not working properly . In doInBackground() method i have written the code for fetching the records from database while debugging i found that records are fetched in array-list but they are not geeting fed to<br>
  onPostExecute(String result)  please help me out ...</p>
  
  <pre><code>private class LoadMoreAsync extends AsyncTask&lt;Context, Void, String&gt; {
      private String strAddress;
  
      public LoadMoreAsync(Context mContext,String strAddress) {
          /*this.strCardNo = strCardNo;
          this.strFirstName = strFirstName;
          this.strMiddleName = strMiddleName;*/
          this.strAddress = strAddress;
          /*this.strCardNo = strCardNo;*/
      }
  
      @Override
      protected void onPreExecute() {
          super.onPreExecute();
          ToastUtils.showToast(mContext, "Loading More...");
      }
  
      @Override
      protected String doInBackground(Context... arg0) {
          mVoterArray = new ArrayList&lt;AddressInfo&gt;();
          mVoterArray = extDbUtil.getAddresslist(strAddress , limit += 20);
          if (mVoterArray.isEmpty() || mVoterArray == null)
              return null;
          else
              return "";
      }
  
      @Override
      protected void onPostExecute(String result) {
          super.onPostExecute(result);
           IOUtils.stopLoading();
          if (result == null) {
              ToastUtils.showToast(mContext, "No Record Found!!");
          } else {
              int position = mListView.getLastVisiblePosition();
              mListAdapter = new ListAdapterNew2(mContext,
                      android.R.layout.simple_list_item_1, mVoterArray);
              mListView.setAdapter(mListAdapter);
              mListView.setSelectionFromTop(position, 0);
              mListAdapter.notifyDataSetChanged();
          }
      }
  }
  </code></pre>
  
  <p>code for extDbUtil.getAddresslist(strAddress , limit += 20);  method is </p>
  
  <pre><code>public ArrayList&lt;AddressInfo&gt; getAddresslist(String strAddress,int limit) {
      open();
      ArrayList&lt;AddressInfo&gt; mAddressArray = new ArrayList&lt;AddressInfo&gt;();
      String mQuery = "SELECT Address1,TotalMale,TotalFemale,TotalVoters, SrNo  FROM "
              + TABLE_ADDRESS;
      String Where = "";
      if (!strAddress.equals("NA")) {
          Where = " WHERE EAddress1 Like '%" + strAddress + "%'";
  
      }
      Log.i("SearchQuery", mQuery + Where + " LIMIT " + limit);
      Cursor mCursor = mDatabase.rawQuery(mQuery + Where + " LIMIT " + limit,
              null);
  
      if (mCursor != null) {
          if (mCursor.moveToFirst()) {                
              do {
                  AddressInfo mAddress = new AddressInfo();
                  mAddress.setSrNO(mCursor.getString(mCursor
                          .getColumnIndex("SrNo")));
                  mAddress.setAddress(mCursor.getString(mCursor
                          .getColumnIndex("Address1")));
                  mAddress.setTotalMale(mCursor.getString(mCursor
                          .getColumnIndex("TotalMale")));
                  mAddress.setTotalFemal(mCursor.getString(mCursor
                          .getColumnIndex("TotalFemale")));
                  mAddress.setTotalVoter(mCursor.getString(mCursor
                          .getColumnIndex("TotalVoters")));                   
  
              } while (mCursor.moveToNext());
              }
  
  
      }
      mCursor.close();
      CleanUp();
      return mAddressArray;
  }
  </code></pre>
  
  <p>coming error is </p>
  
  <pre><code>    01-03 22:59:05.310: D/memalloc(15369): ion: Mapped buffer base:0x51d44000 size:4096 offset:0 fd:87
  01-03 22:59:05.310: I/SearchQuery(15369): SELECT Address1,TotalMale,TotalFemale,TotalVoters, SrNo  FROM Addresses WHERE EAddress1 Like '%R%' LIMIT 20
  01-03 22:59:05.330: W/dalvikvm(15369): threadid=16: thread exiting with uncaught exception (group=0x41a09600)
  01-03 22:59:05.340: D/memalloc(15369): ion: Mapped buffer base:0x555da000 size:196608 offset:0 fd:84
  01-03 22:59:05.340: D/memalloc(15369): ion: Mapped buffer base:0x51d4b000 size:4096 offset:0 fd:90
  01-03 22:59:05.340: E/AndroidRuntime(15369): FATAL EXCEPTION: AsyncTask #3
  01-03 22:59:05.340: E/AndroidRuntime(15369): java.lang.RuntimeException: An error occured while executing doInBackground()
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at android.os.AsyncTask$3.done(AsyncTask.java:299)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at java.lang.Thread.run(Thread.java:864)
  01-03 22:59:05.340: E/AndroidRuntime(15369): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at android.os.Handler.&lt;init&gt;(Handler.java:121)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at android.widget.Toast$TN.&lt;init&gt;(Toast.java:322)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at android.widget.Toast.&lt;init&gt;(Toast.java:91)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at android.widget.Toast.makeText(Toast.java:238)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at com.phoenix.rajtantra.SearchByAdd$List_Async.doInBackground(SearchByAdd.java:284)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at com.phoenix.rajtantra.SearchByAdd$List_Async.doInBackground(SearchByAdd.java:1)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
  01-03 22:59:05.340: E/AndroidRuntime(15369):    ... 5 more
  01-03 22:59:05.540: D/memalloc(15369): ion: Mapped buffer base:0x5570a000 size:1536000 offset:0 fd:92
  01-03 22:59:05.540: D/memalloc(15369): ion: Mapped buffer base:0x53c33000 size:4096 offset:0 fd:94
  </code></pre>