0
使用接口時,得到一個空指針異常,我得到一個空指針異常,當我嘗試使用凌空庫。下面是我的代碼,你可以幫我請(對不起我的英文):我onResponse凌空庫
問題是他無法實例委託類。
Singleton類MenuWebService:
公共類MenuWebService {
public static final String TAG = MenuWebService.class.getSimpleName();
private String tag_json_arry = "tag_json_arry";
private static MenuWebService mInstance = null;
private ArrayList<Menu> listMenu = new ArrayList<Menu>();
private RequestCallback delegate;
private Menu menuObject;
public static MenuWebService getInstance() {
if (mInstance == null) {
mInstance = new MenuWebService();
}
return mInstance;
}
public void getMenu() {
JsonArrayRequest req = new JsonArrayRequest(Const.URL_JSON_MENU,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
JSONObject menu;
Log.d(TAG,"Response :"+ response.toString());
for (int i = 0; i < response.length(); i++) {
try {
menu = (JSONObject) response.get(i);
menuObject = new Menu(menu);
listMenu.add(menuObject);
} catch (JSONException e) {
e.printStackTrace();
}
}
delegate.onGetMenuSuccess(listMenu);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d(TAG, "Error: " + error.getMessage());
if (error != null) {
delegate.onError(error.getMessage());
}
}
});
AppController.getInstance().addToRequestQueue(req, tag_json_arry);
}
}
RequestCallback.java:
公共接口RequestCallback {
public void onGetMenuSuccess(ArrayList<Menu> listMenu);
public void onError(String message);
}
這裏是日誌錯誤:
12-22 16:22:29.626: E/AndroidRuntime(15910): FATAL EXCEPTION: main
12-22 16:22:29.626: E/AndroidRuntime(15910): Process: com.mobvalue.livefoot.fr, PID: 15910
12-22 16:22:29.626: E/AndroidRuntime(15910): java.lang.NullPointerException
12-22 16:22:29.626: E/AndroidRuntime(15910): at com.mobvalue.livefoot.fr.services.MenuWebService$1.onResponse(MenuWebService.java:61)
12-22 16:22:29.626: E/AndroidRuntime(15910): at com.mobvalue.livefoot.fr.services.MenuWebService$1.onResponse(MenuWebService.java:1)
12-22 16:22:29.626: E/AndroidRuntime(15910): at com.android.volley.toolbox.JsonRequest.deliverResponse(JsonRequest.java:65)
12-22 16:22:29.626: E/AndroidRuntime(15910): at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
12-22 16:22:29.626: E/AndroidRuntime(15910): at android.os.Handler.handleCallback(Handler.java:733)
12-22 16:22:29.626: E/AndroidRuntime(15910): at android.os.Handler.dispatchMessage(Handler.java:95)
12-22 16:22:29.626: E/AndroidRuntime(15910): at android.os.Looper.loop(Looper.java:157)
12-22 16:22:29.626: E/AndroidRuntime(15910): at android.app.ActivityThread.main(ActivityThread.java:5356)
12-22 16:22:29.626: E/AndroidRuntime(15910): at java.lang.reflect.Method.invokeNative(Native Method)
12-22 16:22:29.626: E/AndroidRuntime(15910): at java.lang.reflect.Method.invoke(Method.java:515)
12-22 16:22:29.626: E/AndroidRuntime(15910): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
12-22 16:22:29.626: E/AndroidRuntime(15910): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
12-22 16:22:29.626: E/AndroidRuntime(15910): at dalvik.system.NativeStart.main(Native Method)
如何初始化它,請? – user3581886
你怎麼定義RequestCallback?抑或是一些自定義庫來嗎? – SMA
要求回撥在我的項目定義。我在我的活動中執行它 – user3581886