Android recyclerview notifydatasetchanged更改当前视图位置

Android recyclerview notifydatasetchanged更改当前视图位置,android,android-recyclerview,notifydatasetchanged,Android,Android Recyclerview,Notifydatasetchanged,当我点击我正在更改模型值并调用notifydatasetchanged的行的一个元素时,我在这里有recyclerview。但问题是,我有20行,当用户可见的行是15-20,用户点击第20行,我调用notifydatasetchanged,然后列表上升到第13行,现在13-18行可见 textview.setOnClickListener(new View.OnClickListener() { @Override public void on

当我点击我正在更改模型值并调用notifydatasetchanged的行的一个元素时,我在这里有recyclerview。但问题是,我有20行,当用户可见的行是15-20,用户点击第20行,我调用notifydatasetchanged,然后列表上升到第13行,现在13-18行可见

  textview.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                onClick(view);
                notifyDataSetChanged();
            }
        });

我建议不要从适配器调用NotifyDataSetached(),每次滚动getview()时都要调用,这样就不需要通知它,但在调用setAdapter()时可以从适配器外部调用它因此,正确地说,我正在做什么,我有回调到我的视图,在那里我调用NotifyDataSet,所以我单击第20个元素,我想更新第20个元素和我的上一个单击元素,这就是我调用notifydatasetchangedadapter.notifyItemChanged(位置);如果您知道位置如果您一次更改一行(模型),请使用notifyItemChanged(位置);而不是notifydatasetchanged。这可能会解决你的问题。