我的JSON文件看起来像[{“ Delay”:5}],我需要检查Delay是否不为0,然后像(Delay = 5)一样将其放入Toast中,但是当我运行应用程序停止并且不显示任何内容时
private void Affiche (){
StringRequest stringRequest = new StringRequest(Request.Method.GET, URL_WAITING,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONArray waiting = new JSONArray(response);
for (int i = 0; i < waiting.length(); i++) {
JSONObject productObject = waiting.getJSONObject(i);
int Delay = productObject.getInt("Delay");
if ( Delay ==0) {
}else {
Toast.makeText(WaitingActivity.this, Delay, Toast.LENGTH_LONG).show();
}
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(WaitingActivity.this, error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
Volley.newRequestQueue(this).add(stringRequest);
我希望显示“ Delay = 5”,但没有显示任何内容
答案 0 :(得分:0)
如果通过“当我运行应用程序停止时”表示您的应用程序崩溃了,那可能是因为您试图显示int
而不是String
。
makeText()
方法接受Int
或CharSequence
作为第二个参数,但是它接受的int
引用资源ID。因此,在您的情况下,由于您的int
没有引用资源ID,因此您可能希望将Delay
变量转换为String
以便在{{1}中显示}。
例。
Toast