Android 删除项目会使recyclerview显示第一个项目
我有一个Android 删除项目会使recyclerview显示第一个项目,android,android-layout,android-recyclerview,android-adapter,Android,Android Layout,Android Recyclerview,Android Adapter,我有一个RecyclerView,当我想删除一个项目时,我称之为: Tipss.remove(position); //Tipss is my array adapter.notifyItemRemoved(position); rv.setAdapter(adapter) adapter.notifyDataSetChanged(); 我的问题是,在删除视图后,RecyclerView会全部返回到Begging。我知道这是因为正在调用rv.setAdapter(adapter)。如果我删除该
RecyclerView
,当我想删除一个项目时,我称之为:
Tipss.remove(position); //Tipss is my array
adapter.notifyItemRemoved(position);
rv.setAdapter(adapter)
adapter.notifyDataSetChanged();
我的问题是,在删除视图后,
RecyclerView
会全部返回到Begging。我知道这是因为正在调用rv.setAdapter(adapter)
。如果我删除该行,下一个视图(位置后面的视图)将具有删除的视图的高度,这将破坏布局。有人能帮我吗rv.setHasFixedSize()
不起作用。这两行不是必需的
rv.setAdapter(adapter)
adapter.notifyDataSetChanged();
如果您的recyclerView需要根据每行的某些条件具有不同的属性,那么在
onBindViewHolder()
中定义这两行不是必需的
rv.setAdapter(adapter)
adapter.notifyDataSetChanged();
如果您的recyclerView需要根据每行的某些条件具有不同的属性,那么在
onBindViewHolder()
中定义adapter.notifyItem…
的整个点,这样您就不必每次重新绘制所有内容时都调用notifyDatasetChanged()
不起作用,因为它们没有固定的位置或如果我删除该行,下一个视图(位置后的视图)将具有删除视图的高度,并且不会破坏布局。尝试只使用notifyItemRemoved(位置)
它应该为您更新适配器的整个要点。notifyItem…
这样您就不必每次重新绘制所有内容时都调用notifyDatasetChanged()
,因为它们没有固定的站点,或者如果我在下一个视图(位置后的视图)中删除该行,那么它就不起作用了将具有移除的高度,而这只会破坏布局
不会发生。尝试只使用notifyItemRemoved(位置)代码>它应该为您更新,但是我应该如何调整高度?我在问题中已经提到,如果我移除rv.setAdapter(adapter)
下一个视图将具有移除视图的重量。您是否尝试移除两行而不仅仅是rv.setAdapter()?是的,我尝试了所有操作。关于您的建议,如果我移除适配器中的一个或两个,行为是相同的。然后可能尝试使用以下组合:Tipss.remove(position)//Tipss是我的阵列适配器;有了这条线,它仍然可以调整大小,但不去乞讨。我不想让它调整大小,也不想去乞讨。但我该怎么做的高度调整?我在问题中已经提到,如果我移除rv.setAdapter(adapter)
下一个视图将具有移除视图的重量。您是否尝试移除两行而不仅仅是rv.setAdapter()?是的,我尝试了所有操作。关于您的建议,如果我移除适配器中的一个或两个,行为是相同的。然后可能尝试使用以下组合:Tipss.remove(position)//Tipss是我的阵列适配器;有了这条线,它仍然可以调整大小,但不去乞讨。我希望这个不调整大小,不去乞讨。