Ich verwendete die Recycler-Ansicht, um meine Liste der Daten anzuzeigen. Ich rief Web-Service und bekomme die Daten vom Server und aktualisiere aktuelle ArrayList mit Serverdaten. So fülle ich die Daten in meiner aktuellen ArrayList.Problem mit Aktualisierungsdaten von notifyDataSetChanged in RecyclerView
mAlUotesDatas.clear();
mAlUotesDatas = (ArrayList<BillBoardData>) webservice.data;
mUotesAdaptor.notifyDataSetChanged();
und gelten notifyDataSetChanged() in der Liste der Daten zu reflektieren, aber es die Liste nicht reflektieren. In mAlUotesDatas
werden die aktualisierten Daten angezeigt, aber die aktualisierte Liste der Daten wird nicht angezeigt.
Danach habe ich ändern es wie
mAlUotesDatas.clear();
mAlUotesDatas.addAll(res.data);
mUotesAdaptor.notifyDataSetChanged();
Dies funktioniert gut. Es war überraschend für mich, wie das funktioniert ??, obwohl beide die aktualisierten Daten nach Web-Service-Aufruf haben.
Kann mir jemand helfen zu verstehen, wie das sein kann.?
Das ist meine Klasse.
package com.mimran.aphorismus.models;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.mimran.aphorismus.R;
import com.mimran.aphorismus.adapters.QuotesAdaptor;
import java.util.ArrayList;
public class DataFragment extends Fragment {
private RecyclerView mRcvQuotes;
private QuotesAdaptor mUotesAdaptor;
private ArrayList<BillBoardData> mAlUotesDatas;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mRcvQuotes = (RecyclerView) links(R.id.rcv_quotes);
mUotesAdaptor = new QuotesAdaptor(mContext, mAlUotesDatas);
mRcvQuotes.setAdapter(mUotesAdaptor);
return inflater.inflate(R.layout.my_view, container, false);
}
public void webserviceCall() {
public void onResponse()
{
if (response.isSuccess()) {
mAlUotesDatas.clear();
//mAlUotesDatas = (ArrayList<BillBoardData>) res.data;
mAlUotesDatas.addAll(res.data);
mUotesAdaptor.notifyDataSetChanged();
}
}
}
}
Akzeptieren Sie die Antwort, wenn es hilfreich war, bitte :) – mklimek