【发布时间】:2016-07-11 08:36:18
【问题描述】:
在下面的代码中,我的 toast 没有显示。但是,我收到错误消息“RuntimeException:无法在未调用 Looper.prepare() 的线程内创建处理程序”。
我试过Add_City.this和getApplicationContext
try {
BufferedReader reader = new BufferedReader(
new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
JSONObject json_data = new JSONObject(result);
code=(json_data.getInt("code"));
System.out.println(code);
if(code==1)
{
Toast.makeText(Add_City.this, "Inserted Successfully",Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(Add_City.this, "Sorry, City Already Available",Toast.LENGTH_LONG).show();
}
Log.i("TAG", "Result Retrieved");
} catch (Exception e) {
Log.i("TAG", e.toString());
}
【问题讨论】:
-
打开流或解析器json时可能会出现异常
-
是 System.out.println(code);在您的控制台中打印。如果没有,您的执行永远不会到达那段代码。检查 Log.i("TAG", e.toString());正在登录控制台。如果是这样,你有一个例外。解决异常,你应该得到你的祝酒词。
-
要在控制台中打印代码,我得到 {"code":"0"} @Tony
-
是 Log.i("TAG", e.toString());在android显示器上打印一些东西?如果有,那是什么?
-
使用 e.printStackTrace(); catch 语句中的语句,您将拥有可以帮助您解决问题的整个堆栈跟踪。
标签: android android-toast