Android RecyclerView: notifyDataSetChanged () IllegalStateException

Ich versuche zu aktualisieren, die Elemente einer recycleview mit notifyDataSetChanged().

Dies ist mein onBindViewHolder () - Methode in der recycleview adapter.

@Override
public void onBindViewHolder(ViewHolder viewHolder, int position) {

     //checkbox view listener
    viewHolder.getCheckbox().setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

            //update list items
            notifyDataSetChanged();
        }
    });
}

Was ich will zu tun ist, aktualisieren Sie die Liste posten, nachdem ich eine checkbox. Ich bekomme eine illegale Ausnahme jedoch: "Cannot call this method while RecyclerView is computing a layout or scrolling"

java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling
    at android.support.v7.widget.RecyclerView.assertNotInLayoutOrScroll(RecyclerView.java:1462)
    at android.support.v7.widget.RecyclerView$RecyclerViewDataObserver.onChanged(RecyclerView.java:2982)
    at android.support.v7.widget.RecyclerView$AdapterDataObservable.notifyChanged(RecyclerView.java:7493)
    at android.support.v7.widget.RecyclerView$Adapter.notifyDataSetChanged(RecyclerView.java:4338)
    at com.app.myapp.screens.RecycleAdapter.onRowSelect(RecycleAdapter.java:111)

Ich auch notifyItemChanged(), gleiche Ausnahme. Irgendeine geheime Art und Weise zu aktualisieren, informieren Sie den adapter, dass etwas geändert?

InformationsquelleAutor der Frage Arthur | 2014-11-21

Schreibe einen Kommentar