嗨那些家伙我有一个问题,当我打电话给notifyItemMoved时,项目会移动,但最后它们保持不变,为什么会发生这种情况? 这是代码的一部分(请注意,我希望adaper中的第二项移动到第一个位置,即位置0)
InboxFragment.mRecyclerView.setAdapter(InboxFragment.inboxAdapter);
InboxFragment.inboxAdapter.notifyItemMoved(1, 0);
答案 0 :(得分:0)
我假设你的适配器中有一个数组数组(顺便说一下你的代码暗示适配器是静态的 - 建议把它变成一个成员变量)。
因此,您的代码应该类似于:
class InboxFragment extends Fragment {
Data data[];
InboxAdapter inboxAdapter;
void moveItem(){
Data tmp = data[0];
data[0] = data[1];
data[1] = tmp;
inboxAdapter.notifyItemMoved(1, 0);
}
}