我是android编程的新手,我已经开发了一个应用程序,其中我尝试使用用户凭据登录,因为它无法显示服务器响应中的错误消息,但在Logcat中却可以看到该消息。显示错误的其他任何方式
@Override
public void success(JsonObject jsonObject, Response response) {
Log.d("Login", jsonObject.toString());
dialog.dismiss();
JsonObject jsonObject1 = jsonObject.getAsJsonObject();
String status = jsonObject1.get("status").getAsString();
statuss = Boolean.parseBoolean(status);
if (status.equalsIgnoreCase("true")) {
String otp_status = jsonObject1.get("otpstatus").getAsString();
if (otp_status.equalsIgnoreCase("true")) {
JsonObject jsonObject2 = jsonObject1.get("data").getAsJsonObject();
String userid = jsonObject2.get("userid").getAsString();
String email = jsonObject2.get("email").getAsString();
String phone = jsonObject2.get("phone").getAsString();
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
getActivity().finish();
Intent i = new Intent(getContext(), MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
});
} else {
}
} else if (status.equalsIgnoreCase("false")){
Toast.makeText(getContext(), "" + jsonObject1.get("message").getAsString(), Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:0)
Toast也应显示在UI线程中。另外,请向我们展示如何在日志中显示错误,并在此处放置日志。
答案 1 :(得分:0)
在runOnUiThread()
中显示吐司,这是您将boolean
的值映射到string
的另一件事,即不正确的方式,请尝试这种方式
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (status) {
//will execute if status is true
}else{
//will execute if status is false
Toast.makeText(getContext(), "Hello" + jsonObject1.get("message").toString(), Toast.LENGTH_SHORT).show();
}
});
希望它将对您有帮助!