【发布时间】:2016-07-03 05:47:35
【问题描述】:
我不想像这样直接在 asynctask 类中实现接口:
new AsyncTask<Void, Void, Void>() {
@Override
protected void onPreExecute() {
super.onPreExecute();
swipeRefreshLayout.setRefreshing(true);
}
@Override
protected Void doInBackground(Void... params) {
retrofitCallBackUtil.getLastTenMessageCallBack(AppConfig.USER_ID, userId, offsetNumber, service, new RetrofitResponseCallBack() {
@Override
public void onSuccess(ArrayList<Message> messages) {
messageAdapter.insertToTheFirst(messages);
}
@Override
public void onFailure() {
}
});
offsetNumber += 5;
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
messageAdapter.notifyDataSetChanged();
swipeRefreshLayout.setRefreshing(false);
}
}.execute();
我只是通过主类实现它并将 this 放入此参数中,如下所示:
retrofitCallBackUtil.getLastTenMessageCallBack(AppConfig.USER_ID, userId, offsetNumber, service, this);
但我不能在 asynctask 方法中做到这一点。那么有人可以给我一些解决方案吗?
【问题讨论】:
标签: android interface android-asynctask