在Fragment
中,在onCreateView
方法中,我以这种方式设置适配器:
final BusStopAdapter mAdapter = new BusStopAdapter(nearbyBusStations);
mRecyclerView.setAdapter(mAdapter);
然后有一个改进方法,它在适配器中设置了nearBusStations:
service.getJson(origin, dest).enqueue(new Callback<DirectionResults>() {
@Override
public void onResponse(Call<DirectionResults> call, Response<DirectionResults> response) {
Route routeA = response.body().getRoutes().get(0);
Legs legs = routeA.getLegses().get(0);
nearbyBusStations.add(new NearbyBusStation(currentItem.getName(), String.valueOf(legs.getDistance().getValue()), legs.getDuration().getText()));
mAdapter.swapItems(nearbyBusStations);
mAdapter.notifyItemInserted(nearbyBusStations.size() - 1);
}
@Override
public void onFailure(Call<DirectionResults> call, Throwable t) {
Log.d("CallBack", " Throwable is " + t);
}
});
这些代码行有效,但问题是我要清除另一个mRecyclerView
中的AsyncTask
。我尝试了一些方法,但没有任何作用。
我需要清除mRecyclerView
,因为我必须刷新附近的公共汽车站。
答案 0 :(得分:2)
只需清除您的arraylist并通知适配器您要清除回收者视图的位置。
实施例: -
nearbyBusStations.clear();
mAdapter.setnotifyDataSetChanged();
希望它能帮到你..
答案 1 :(得分:2)
您应该清除列表并通知适配器,如下所示
nearbyBusStations.clear();
mAdapter.setnotifyDataSetChanged();