Note that there are some explanatory texts on larger screens.

plurals
  1. POCall Async Task from Dialog Box
    primarykey
    data
    text
    <p>I have a class in which a button is pressed it shows a dialog box. This box has two buttons YES,NO. When i click YES i want to call async task to update some values in DB. I tried this but it Gives me Looper.prepare() error. Searched all over SO and GOogle but no solution. Does any1 have any ideas? </p> <p>Thanx</p> <pre><code>bttnSync.setOnClickListener(new OnClickListener() { public void onClick(View v) { if (isOnline()) { AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder( MainPage.this); alertDialogBuilder.setTitle("Syncing all data....!!"); alertDialogBuilder .setMessage( "Are you sure you want to Sync all the data?") .setCancelable(false) .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick( DialogInterface dialog, int id) { //call(); new CountDownTask().execute(); MainPage.this.finish(); Intent i = new Intent( "com.example.collegesoft.MainPage"); startActivity(i); } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick( DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alertDialog = alertDialogBuilder.create(); // show it alertDialog.show(); } else { AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder( MainPage.this); alertDialogBuilder.setTitle("No Internet Connection!!"); alertDialogBuilder .setMessage( "Device is not connected to the Internet or the connection is slow.") .setCancelable(false) .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick( DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alertDialog = alertDialogBuilder.create(); // show it alertDialog.show(); } } }); private class CountDownTask extends AsyncTask&lt;Void, Integer, Void&gt; { protected void onPreExecute() { progressDialog = ProgressDialog.show(MainPage.this, "Loading...", "Loading application , please wait...", false, false); } protected Void doInBackground(Void... params) { call(); return null; } protected void onProgressUpdate(Integer... values) { progressDialog.setProgress(values[0]); } protected void onPostExecute(Void result) { progressDialog.dismiss(); } } 01-31 10:41:37.575: E/AndroidRuntime(9038): FATAL EXCEPTION: AsyncTask #1 01-31 10:41:37.575: E/AndroidRuntime(9038): java.lang.RuntimeException: An error occured while executing doInBackground() 01-31 10:41:37.575: E/AndroidRuntime(9038): at android.os.AsyncTask$3.done(AsyncTask.java:278) 01-31 10:41:37.575: E/AndroidRuntime(9038): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 01-31 10:41:37.575: E/AndroidRuntime(9038): at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 01-31 10:41:37.575: E/AndroidRuntime(9038): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 01-31 10:41:37.575: E/AndroidRuntime(9038): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 01-31 10:41:37.575: E/AndroidRuntime(9038): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 01-31 10:41:37.575: E/AndroidRuntime(9038): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 01-31 10:41:37.575: E/AndroidRuntime(9038): at java.lang.Thread.run(Thread.java:856) 01-31 10:41:37.575: E/AndroidRuntime(9038): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 01-31 10:41:37.575: E/AndroidRuntime(9038): at android.os.Handler.&lt;init&gt;(Handler.java:121) 01-31 10:41:37.575: E/AndroidRuntime(9038): at android.app.Activity.&lt;init&gt;(Activity.java:735) 01-31 10:41:37.575: E/AndroidRuntime(9038): at com.example.collegesoft.SyncData.&lt;init&gt;(SyncData.java:22) 01-31 10:41:37.575: E/AndroidRuntime(9038): at com.example.collegesoft.MainPage.call(MainPage.java:259) 01-31 10:41:37.575: E/AndroidRuntime(9038): at com.example.collegesoft.MainPage$CountDownTask.doInBackground(MainPage.java:284) 01-31 10:41:37.575: E/AndroidRuntime(9038): at com.example.collegesoft.MainPage$CountDownTask.doInBackground(MainPage.java:1) 01-31 10:41:37.575: E/AndroidRuntime(9038): at android.os.AsyncTask$2.call(AsyncTask.java:264) 01-31 10:41:37.575: E/AndroidRuntime(9038): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 01-31 10:41:37.575: E/AndroidRuntime(9038): ... 4 more 01-31 10:41:43.966: E/WindowManager(9038): Activity com.example.collegesoft.MainPage has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@41753818 that was originally added here 01-31 10:41:43.966: E/WindowManager(9038): android.view.WindowLeaked: Activity com.example.collegesoft.MainPage has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@41753818 that was originally added here 01-31 10:41:43.966: E/WindowManager(9038): at android.view.ViewRootImpl.&lt;init&gt;(ViewRootImpl.java:383) 01-31 10:41:43.966: E/WindowManager(9038): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:279) 01-31 10:41:43.966: E/WindowManager(9038): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215) 01-31 10:41:43.966: E/WindowManager(9038): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140) 01-31 10:41:43.966: E/WindowManager(9038): at android.view.Window$LocalWindowManager.addView(Window.java:537) 01-31 10:41:43.966: E/WindowManager(9038): at android.app.Dialog.show(Dialog.java:278) 01-31 10:41:43.966: E/WindowManager(9038): at android.app.ProgressDialog.show(ProgressDialog.java:116) 01-31 10:41:43.966: E/WindowManager(9038): at android.app.ProgressDialog.show(ProgressDialog.java:104) 01-31 10:41:43.966: E/WindowManager(9038): at com.example.collegesoft.MainPage$CountDownTask.onPreExecute(MainPage.java:278) 01-31 10:41:43.966: E/WindowManager(9038): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:561) 01-31 10:41:43.966: E/WindowManager(9038): at android.os.AsyncTask.execute(AsyncTask.java:511) 01-31 10:41:43.966: E/WindowManager(9038): at com.example.collegesoft.MainPage$3$1$1.run(MainPage.java:82) 01-31 10:41:43.966: E/WindowManager(9038): at android.os.Handler.handleCallback(Handler.java:605) 01-31 10:41:43.966: E/WindowManager(9038): at android.os.Handler.dispatchMessage(Handler.java:92) 01-31 10:41:43.966: E/WindowManager(9038): at android.os.Looper.loop(Looper.java:137) 01-31 10:41:43.966: E/WindowManager(9038): at android.app.ActivityThread.main(ActivityThread.java:4514) 01-31 10:41:43.966: E/WindowManager(9038): at java.lang.reflect.Method.invokeNative(Native Method) 01-31 10:41:43.966: E/WindowManager(9038): at java.lang.reflect.Method.invoke(Method.java:511) 01-31 10:41:43.966: E/WindowManager(9038): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790) 01-31 10:41:43.966: E/WindowManager(9038): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 01-31 10:41:43.966: E/WindowManager(9038): at dalvik.system.NativeStart.main(Native Method) </code></pre> <p>My call() method .... </p> <pre><code>protected void call() { Log.d(TAG,"Call Called"); myDbHelper = new DatabaseHelper(MainPage.this); try { myDbHelper.openDataBase(); } catch (SQLException sqle) { throw sqle; } Cursor c = myDbHelper.getAllStudentFromMainTable(); Log.d(TAG, "Cursor : " + c.getColumnCount()); //new CountDownTask().execute(); new SyncData().sendJson(c, myDbHelper, MainPage.this); //c.close(); } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload