簡體   English   中英

在改造回調實現中遇到錯誤

[英]Getting an error in Retrofit Callback implementation

我已經編寫了一個用於檢索數據的改造回調,如下所示

 AppConfig.read api = adapter.create(AppConfig.read.class);
    api.readData(new Callback() {
        @Override
        public void success(JsonElement result, Response response) {

            String myResponse = result.toString();
            Log.d("response", "" + myResponse);
            try {
                JSONObject jObj = new JSONObject(myResponse);
                int success = jObj.getInt("success");
                if (success == 1) {
                    JSONArray jsonArray = jObj.getJSONArray("details");
                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject jo = jsonArray.getJSONObject(i);
                        id.add(jo.getString("id"));
                        name.add(jo.getString("name"));
                        age.add(jo.getString("age"));
                        mobile.add(jo.getString("mobile"));
                        email.add(jo.getString("email"));
                        details_list.setAdapter(displayAdapter);
                    }
                } 
                else {
                    Toast.makeText(getApplicationContext(), "No Details 
                    Found", Toast.LENGTH_SHORT).show();
                }
                } catch (JSONException e) {
                      Log.d("exception", e.toString());
            }
        }
            @Override
            public void failure(RetrofitError error) {
                Log.d("Failure", error.toString());
                Toast.makeText(StudReg.this, error.toString(), Toast.LENGTH_LONG).show();
            }

    }
  );
 }

我的API接口如下

   public interface read {
    @GET("/displayAll.php")
    void readData(Callback<JsonElement> callback);
}

但是我收到一個錯誤, Class 'anonymous class derived from callback' must either be declared abstract or implement abstract method 'success(T,Response)' in CallBack

請幫我。 非常感謝

在設置通用類時,請更改以下代碼。
更改此聲明聲明
api.readData(new Callback())

api.readData(new Callback<JsonElement>()) <br/>

正如您在接口中定義的那樣,readData方法將采用通用類的參數

Callback<JsonElement>

我可以在這里從您的接口聲明中找到,

void readData(Callback<JsonElement> callback);

這就是編譯器似乎抱怨的原因

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM