0
runOnUiThread(new Runnable() {
    @Override
    public void run() {
        if(isok){
            progressDialog.dismiss();
            Intent NextP = new Intent(RegisterEasyActivity.this,ActivityOTP.class);
            startActivity(NextP);
        }
        else{
            progressDialog.dismiss();
            switch (errorcode){
                case 1:
                    progressDialog.dismiss();
                    Toast.makeText(RegisterEasyActivity.this, "Number already registered", Toast.LENGTH_SHORT).show();
                    break;
                case 2:
                    progressDialog.dismiss();
                    Toast.makeText(RegisterEasyActivity.this, "Username already exist!", Toast.LENGTH_SHORT).show();
                    break;
                default:
                    progressDialog.dismiss();
                    Toast.makeText(getBaseContext(), "Something wrong", Toast.LENGTH_SHORT).show();
            }
        }
    }
});

this is the error i get :

java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
                                                                            at android.os.Handler.<init>(Handler.java:200)
                                                                            at android.os.Handler.<init>(Handler.java:114)
                                                                            at android.widget.Toast$TN$2.<init>(Toast.java:336)
                                                                            at android.widget.Toast$TN.<init>(Toast.java:336)
                                                                            at android.widget.Toast.<init>(Toast.java:103)
                                                                            at android.widget.Toast.makeText(Toast.java:256)
                                                                            at com.create.owner.mydemopro.Activity.RegisterEasyActivity$3$2.run(RegisterEasyActivity.java:231)
                                                                            at java.lang.Thread.run(Thread.java:761)

i can't figure this out.

beeb
  • 1,615
  • 1
  • 12
  • 24
  • 7
    Possible duplicate of [Can't create handler inside thread that has not called Looper.prepare()](https://stackoverflow.com/questions/3875184/cant-create-handler-inside-thread-that-has-not-called-looper-prepare) – AskNilesh Apr 18 '18 at 07:12
  • extend Looper class – Danger Apr 18 '18 at 07:17

1 Answers1

0

You're calling it from a worker thread .Try this code .

  new Handler(Looper.getMainLooper()).post(new Runnable() {
                @Override
                public void run() {
                   if(isok){
                              progressDialog.dismiss();
                              Intent NextP = new Intent(RegisterEasyActivity.this,ActivityOTP.class);
                              startActivity(NextP);
                             }
                    else{
                           progressDialog.dismiss();
                           switch (errorcode){
                                  case 1:
                                        progressDialog.dismiss();
                                        Toast.makeText(RegisterEasyActivity.this, "Number already registered", Toast.LENGTH_SHORT).show();
                                        break;
                                        case 2:
                                        progressDialog.dismiss();
                                        Toast.makeText(RegisterEasyActivity.this, "Username already exist!", Toast.LENGTH_SHORT).show();
                                         break;
                                         default:
                                         progressDialog.dismiss();
                                         Toast.makeText(getBaseContext(), "Something wrong", Toast.LENGTH_SHORT).show();
                                            }
                                        }
                                    }
                }
            });
Praveen Rawat
  • 314
  • 1
  • 3
  • 14