[英]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.