我有一個片段,其中有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