我有一个片段,其中有RecyclerView
和LinearLayoutManager
其中有CardView
项目。点击时有一个浮动动作按钮,项目应该滚动到顶部。我已尝试使用scrollToPosition
以及scrollToPositionWithOffset
与RecyclerView
以及LinearLayoutManager
,如下所示。但它根本没有效果。这是为什么?任何人都可以请帮助我。使用LinearLayoutManager滚动到RecyclerView顶部
而且我已将RecyclerView
直接放入了xml文件中的SwipeRefreshView
。一旦将适配器设置为RecyclerView
,我打电话给setFloatingActionButton
。
public void setFloatingActionButton(final View view) {
float = (android.support.design.widget.FloatingActionButton) getActivity().findViewById(R.id.float);
float.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mRecyclerView.smoothScrollToPosition(0);
android.support.design.widget.Snackbar.make(view, "Scrolled to Top", android.support.design.widget.Snackbar.LENGTH_SHORT)
.setAction("Ok", new View.OnClickListener() {
@Override
public void onClick(View v) {
LinearLayoutManager llm = (LinearLayoutManager) mRecyclerView.getLayoutManager();
llm.scrollToPosition(0);
}
})
.setActionTextColor(getActivity().getResources().getColor(R.color.coloLink))
.show();
}
});
}
尝试'mLayoutManager.scrollToPositionWithOffset(0,0);' – Antrromet
是啊,我已经尝试了本。但这有太多就像scrollToPosition没有影响。 – SRBhagwat
这很奇怪,因为即使我有一个类似于你的布局。我有一个带有布局管理器的'RecyclerView',放在'SwipeRefreshview'中,这对我很有用。 – Antrromet