【发布时间】:2018-05-02 11:55:09
【问题描述】:
我只有一个 AsyncTask,它使用监听器与主要活动通信。响应到达的位置,第一个 Toast 将以正确的值显示。问题是在 try catch 中我可以恢复这些值。所以 if 或 switch 不再起作用了。
@Override
public void OnAsyncTaskComplete(String response) {
Toast.makeText(getContext(),((ActivityLogin) getActivity()).choiceButton+" result: "+response, Toast.LENGTH_LONG).show();
try {
JSONObject obj = new JSONObject(response);
String objservice = obj.getString("service");
String objstatuCode = obj.getString("status-code");
String objdescription = obj.getString("status-description");
JSONObject result = obj.getJSONObject("result");
if(!objstatuCode.equals("200") || objstatuCode.equals(null)){
Toast.makeText(getContext(), objstatuCode+"", Toast.LENGTH_SHORT).show();
return;
} else {
Toast.makeText(getContext(), objstatuCode+"", Toast.LENGTH_SHORT).show();
return;
}
} catch (JSONException e){
e.printStackTrace();
}
}
【问题讨论】:
-
用问题分享你的 json 回复
-
在这里分享回复
-
首先像这样交换你的条件, if(objstatuCode.equals(null) || !objstatuCode.equals("200") ){} 并且你的状态码是整数使用 getInt
-
不一样
标签: android if-statement android-asynctask switch-statement