Guest User

Untitled

a guest
Sep 15th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. Why AsyncTask behaves differently if declared as inner class of an Activity or on a separate file?
  2. public class LoginTask extends AsyncTask<Object, Integer, String> {
  3.  
  4. private Context context;
  5. private ProgressDialog progressDialog;
  6.  
  7. public LoginTask(Context context) {
  8. this.context = context;
  9. }
  10.  
  11. @Override
  12. protected void onPreExecute() {
  13. progressDialog = new ProgressDialog(context) {
  14. {
  15. setMessage("Authenticating...");
  16. setTitle("Login");
  17. setCancelable(false);
  18. setIndeterminate(true);
  19. show();
  20. }
  21. };
  22. }
  23.  
  24. @Override
  25. protected String doInBackground(Object... params) {
  26. String email = (String) params[0];
  27. String password = (String) params[1];
  28.  
  29. try {
  30. User user = LoginWebService.loginUser(email, password,
  31. context);
  32. user.save();
  33. } catch (CommunicationException e) {
  34. e.printStackTrace();
  35. return e.getMessage();
  36. }
  37.  
  38. return null;
  39. }
  40.  
  41. @Override
  42. protected void onPostExecute(final String result) {
  43. progressDialog.dismiss();
  44. }
  45. }
  46.  
  47. E/AndroidRuntime(17172): at com.app.task.LoginTask.doInBackground(LoginTask.java:47)
  48. E/AndroidRuntime(17172): at com.app.task.LoginTask.doInBackground(LoginTask.java:1)
  49. E/AndroidRuntime(17172): at android.os.AsyncTask$2.call(AsyncTask.java:264)
  50. E/AndroidRuntime(17172): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
  51. E/AndroidRuntime(17172): ... 5 more
  52. E/AndroidRuntime(17172): Caused by: java.lang.RuntimeException: Cant create handler inside thread that has not called Looper.prepare()
Add Comment
Please, Sign In to add comment