我如何代替\“ return true”返回布尔值的“ complited1”或“ strIsCompleted”值?
“不要读这个”,谢谢:p 可用的段落有很多变体,但是大多数通过注入的方式遭受了某种形式的改动,看起来甚至有些难以置信。如果要使用的段落,则需要确保文本中间没有隐藏任何令人尴尬的内容。
public boolean GetStatusByCategoryID(final String categoryID) {
final StringRequest req = new StringRequest(Request.Method.GET, " http://164.132.6.62/api/Answer/CheckCompleteness?userid=9",
new Response.Listener < String > () {
@Override
public void onResponse(String response) {
try {
VolleyLog.v("Response:%n %s", response);
Toast.makeText(HomeView.this, response.toString(), Toast.LENGTH_SHORT).show();
JSONArray jsonMainArray = new JSONArray(response);
//check length of json array
if (jsonMainArray.length() > 0) {
for (int i = 0; i < jsonMainArray.length(); i++) {
JSONObject jsonObject = jsonMainArray.getJSONObject(i);
String strCategoryId = jsonObject.isNull("categoryId") ? "" : jsonObject.optString("categoryId");
String strIsCompleted = jsonObject.isNull("isCompleted") ? "" : jsonObject.optString("isCompleted").toString();
if (strCategoryId.equals(categoryID)) {
String complited1 = strIsCompleted;
System.out.println(complited1);
}
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.e("Error: ", error.getMessage());
Toast.makeText(HomeView.this, "Server error", Toast.LENGTH_SHORT).show();
}
}) {
@Override
public Map < String, String > getHeaders() throws AuthFailureError {
HashMap < String, String > headers = new HashMap < String, String > ();
headers.put("Authorization", "bWVuZGltbXVzdGFmYTpMb3RyMyNMb2d5");
return headers;
}
};
//Add Network Request in request queue
RequestQueue mRequestQueue = Volley.newRequestQueue(getApplicationContext());
req.setRetryPolicy(new DefaultRetryPolicy(
DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 20000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
mRequestQueue.add(req);
return true;
}
答案 0 :(得分:0)
我不确定自己的意思,但是通过一种方法,我们可以通过更改其变量类型来更改返回的内容。
例如
public void method1(){
//Returns nothing/ is voided
}
public string method2(){
String returnString = "hello";
return returnString;
}
方法2在被调用时将得到一个字符串,在打印时将显示“ hello”。
答案 1 :(得分:0)
据我了解,您想更改onResponse中的布尔值。所以你必须这样做。
interface CustomCallback {
void onResponse(boolean parameter);
}
像这样将接口作为参数传递给您的方法
public boolean GetStatusByCategoryID(final String categoryID, CustomCallback callback)
然后只需在您的onResponse或onError中调用它
callback.onResponse(/*true or false*/);