使用 PullToRefreshGridView 時,需要透過按鈕點擊實現「回到頂部」功能,但 PullToRefreshGridView 本身沒有直接暴露 smoothScrollTo 方法。
PullToRefreshGridView 內部包裝了原生 GridView,可透過 getRefreshableView() 取得內部 GridView 實例,再呼叫其 smoothScrollToPosition(0) 方法。
// 在按鈕點擊事件中
Button btnTop = findViewById(R.id.btn_top);
PullToRefreshGridView ptrGrid = findViewById(R.id.ptr_grid);
btnTop.setOnClickListener(v -> {
// 取得內部 GridView 並平滑滾動至位置 0
ptrGrid.getRefreshableView().smoothScrollToPosition(0);
});
getRefreshableView() 回傳型別為 GridView,支援所有 AbsListView 的滾動方法。setSelection(0)。PullToRefreshListView、PullToRefreshScrollView 等元件。