2016-09-28 3 views
0

In einem Fragment im onCreateView Methode, habe ich den Adapter auf diese Weise:Android - Set Adapter innerhalb Nachrüstung

final BusStopAdapter mAdapter = new BusStopAdapter(nearbyBusStations); 
mRecyclerView.setAdapter(mAdapter); 

Dann gibt es eine Nachrüst-Verfahren, das die nearbyBusStations im Adapter-Set:

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); 
      } 
     }); 

Diese Codezeilen funktionieren, aber das Problem ist, dass ich die mRecyclerView in einem anderen AsyncTask löschen möchte. Ich habe einige Wege ausprobiert, aber nichts funktioniert. Ich muss die mRecyclerView löschen, weil ich die near bus stop station aktualisieren muss.

+0

Sie bitte Code des Löschens recyclerview posten. –

Antwort

1

Löschen Sie einfach Ihre Arraylist und benachrichtigen Sie Ihren Adapter, wo Sie Ihre Recyclerview löschen möchten.

Beispiel: -

nearbyBusStations.clear(); 
mAdapter.setnotifyDataSetChanged(); 

Hoffnung seiner Hilfe Sie ..

+0

Ich weiß nicht, ob es normal ist, aber es funktioniert nur mit in der Nähe von busStations.clear(). Vielen Dank ;) – Fidelis

1

Sie sollten Ihre Liste löschen und benachrichtigen Sie den Adapter wie unten

nearbyBusStations.clear(); 
mAdapter.setnotifyDataSetChanged(); 
Verwandte Themen