如何修复此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();
}
}
}
}
});