Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android RecyclerView:在项目上,插入向上推而不是向下推_Android_Android Recyclerview - Fatal编程技术网

Android RecyclerView:在项目上,插入向上推而不是向下推

Android RecyclerView:在项目上,插入向上推而不是向下推,android,android-recyclerview,Android,Android Recyclerview,假设我有一个包含很多项目视图的RecyclerView:[a,b,c,d,e,…]。如果我想在b和c之间插入一个新的ItemViewX,我会更新我的基础集合并调用notifyItemInserted(2)。我现在有了[a,b,X,c,d,e,…] 我的问题是,当出现X时,它会向下推每个视图(将e推出屏幕),我需要它向上推每个视图(将a推出屏幕) 是否有办法这样做? < P>这是因为线性LayOutMeor管理器将列表的开始考虑为锚点位置。如果希望列表的末尾是锚定位置,可以设置stackFromE

假设我有一个包含很多项目视图的RecyclerView:
[a,b,c,d,e,…]
。如果我想在
b
c
之间插入一个新的ItemView
X
,我会更新我的基础集合并调用
notifyItemInserted(2)
。我现在有了
[a,b,X,c,d,e,…]

我的问题是,当出现
X
时,它会向下推每个视图(将
e
推出屏幕),我需要它向上推每个视图(将
a
推出屏幕)


是否有办法这样做?

< P>这是因为线性LayOutMeor管理器将列表的开始考虑为锚点位置。如果希望列表的末尾是锚定位置,可以设置
stackFromEnd=true。在这种情况下,当列表第一次加载时,您将看到

V W X Y Z//假设字母表是您的项目列表

这是对话应用程序之类的常见情况


如果希望在
stackFromEnd
设置为
true
时从头开始,则可以在初始化适配器时调用
scrollToPosition(0)

。我使用的是GridLayoutManager,默认行为似乎是您想要的,我正在寻找一种方法将其还原为您所拥有的。嘿@yigit,我使用
stackFromEnd(true)
在显示键盘时保持正确的位置。但是当recyclerview(1或2)中的项目很少时,这些项目显示在recyclerview的底部,顶部有一些空白。如果列表超过当前视口大小,是否有任何方法仅允许stackfromend?抱歉,stack form end没有此类设置,我们不打算添加。