Android RecyclerView: notifyDataSetChanged () IllegalStateException

Ich versuche, die Elemente einer Recycling-Ansicht mit notifyDataSetChanged () zu aktualisieren.

Dies ist meine onBindViewHolder () -Methode im 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();
        }
    });
}

Ich möchte die Listenelemente aktualisieren, nachdem ich ein Kontrollkästchen aktiviert habe. Ich erhalte jedoch eine unzulässige Ausnahme:"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 habe auch notifyItemChanged () verwendet, dieselbe Ausnahme. Gibt es eine geheime Möglichkeit zum Aktualisieren, um den Adapter zu benachrichtigen, dass sich etwas geändert hat?

Antworten auf die Frage(40)

Ihre Antwort auf die Frage