【发布时间】:2015-08-22 19:00:31
【问题描述】:
我有一个片段,其中有 RecyclerView 和 LinearLayoutManager,其中有 CardView 项目。单击项目应滚动到顶部有一个浮动操作按钮。我尝试使用scrollToPosition 以及scrollToPositionWithOffset 和RecyclerView 以及LinearLayoutManager,如下所示。但它根本没有效果。为什么会这样?谁能帮帮我。
我已将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); -
是的,我已经尝试过了。但这也没有效果,就像 scrollToPosition 一样。
-
这很奇怪,因为我的布局也和你的差不多。我有一个带有布局管理器的
RecyclerView,它被放置在SwipeRefreshview中,这对我有用。 -
如果我将适配器设置为 recyclerview 后立即调用 scrollToPosition 有什么问题吗?
-
现在我放置了 mlayoutmanager.scrollToPositionWithOffset(0,0);在方法 setFloatingAction 按钮之外,它工作正常!!!
标签: android android-recyclerview