Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复此android错误?_Android_Android Runonuithread - Fatal编程技术网

如何修复此android错误?

如何修复此android错误?,android,android-runonuithread,Android,Android Runonuithread,这是我得到的错误: runOnUiThread(new Runnable() { @Override public void run() { if(isok){ progressDialog.dismiss(); Intent NextP = new Intent(RegisterEasyActivity.this,ActivityOTP.class); startActivity(NextP

这是我得到的错误:

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();
            }
        }
    }
});
java.lang.RuntimeException:无法在未调用Looper.prepare()的线程内创建处理程序
android.os.Handler.(Handler.java:200)
位于android.os.Handler.(Handler.java:114)
在android.widget.Toast$TN$2。(Toast.java:336)
在android.widget.Toast$TN.(Toast.java:336)
在android.widget.Toast.(Toast.java:103)
位于android.widget.Toast.makeText(Toast.java:256)
在com.create.owner.mydemopro.Activity.RegisterEasyActivity$3$2.run上(RegisterEasyActivity.java:231)
运行(Thread.java:761)

我想不出这个问题。

您正在从工作线程调用它。请尝试此代码

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)

扩展活套类可能重复
  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();
                                            }
                                        }
                                    }
                }
            });