使用setScrollListener我嘗試添加滾動聽者StaggeredGridView 在那裏,我不能想出一個辦法補充,存在對沒有實現,我可以看到
Github上的url https://github.com/maurycyw/StaggeredGridView 感謝如何StaggeredGridView
回答
創建一個繼承SwipeRefreshLayout一個類並重寫canChildScrollUp(方法檢查StaggeredGridView到達頂部或沒有,如果它到達頂部返回true否則返回false。
public class SwipeDownToRefrsh extends SwipeRefreshLayout{
PullToRefreshStaggeredGridView pullToRefreshStaggeredGridView;
public SwipeDownToRefrsh(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public void canChildScrollUp (PullToRefreshStaggeredGridView pullToRefreshStaggeredGridView) {
this.pullToRefreshStaggeredGridView = pullToRefreshStaggeredGridView;
}
@Override
public boolean canChildScrollUp() {
// TODO Auto-generated method stub
if (pullToRefreshStaggeredGridView == null) {
return true;
} else {
return !pullToRefreshStaggeredGridView.getRefreshableView().mGetToTop;
}
}
}
在您的活動或片段只是把你的StaggeredGridView這樣的瞬間:
((SwipeDownToRefrsh)holder.swipeRefreshLayout).canChildScrollUp(holder.staggeredGridView);
以下是我試圖解決這個問題
首先,添加一個私有的實例:
private AbsListView.OnScrollListener mOnScrollListener;
廣告d公共setOnClickListener方法:
public void setOnScrollListener (AbsListView.OnScrollListener l) {
mOnScrollListener = l;
}
然後,在trackMotionScroll,添加命令行來調用監聽器:
private boolean trackMotionScroll(int deltaY, boolean allowOverScroll) {
.
.
.
/* HERE we call onScroll */
if (mOnScrollListener != null) {
mOnScrollListener.onScroll(null, getFirstPosition(), getChildCount(), this.mItemCount);
}
return deltaY == 0 || movedBy != 0;
}
您也可以實現自己的onScrollStateChanged (AbsListView view, int scrollState)
的方法,但我懶得這樣做:P
最後,你可以調用gridView.setOnScrollListener(listener)
在聽衆傳遞給StaggeredGridView
希望它能幫助。
StaggeredGridView他們沒有這個setOnScrollListener(偵聽器)的方法 – Saleeh 2013-04-04 04:36:08
您可以在StaggeredGridView類中編輯源代碼並實現此方法,因爲插件本身實際上並沒有此方法。 – 2013-04-08 03:21:57
這是滾動監聽器問題的解決方案,答案應該被接受。 – 2013-06-05 12:37:16
我遇到同樣的問題,這就是爲什麼我添加滾動收聽自己的支持,你可以在github這裏的項目:)https://github.com/GoMino/StaggeredGridView
不錯的修復@gomino。我面臨同樣的問題,我將使用你的代碼。謝謝! ps:upvoted的方式。 – axierjhtjz 2013-11-25 15:53:00
沒有項目點擊???爲什麼?? – 2015-02-04 06:58:04
- 1. 如何填充StaggeredGridView
- 2. 如何StaggeredGridView活動
- 3. 如何使用StaggeredGridView和ActionBarSherlock相結合
- 4. StaggeredGridView setAdapter addHeaderView和addFooterView之後
- 5. 如何在StaggeredGridView底部添加「加載更多」視圖
- 6. StaggeredGridView只能正確刷新頂部
- 7. 無法在Android上實現StaggeredGridView
- 8. 單個StaggeredGridView中有多個列?
- 9. staggeredgridview在android中執行幫助
- 10. 在StaggeredGridView中獲取mScrollListener監聽器爲空
- 11. 從這裏的GridView添加項目在StaggeredGridview
- 12. Etsy的StaggeredGridview可以在API 9中工作嗎?
- 13. 導入StaggeredGridView庫 - Parcel.CreateIntArry()不適用於Parcel.CreateIntArry(int [])錯誤
- 14. 的Android Etsy的StaggeredGridView庫更添負荷頁腳和拉頭
- 15. 如何實現不同大小的griditems的gridview?
- 16. 如何如果
- 17. 如何讓gridview項目在Android中的GridView中採用雙倍寬度
- 18. 如何
- 19. 如何
- 20. 如何
- 21. 如何
- 22. 如何
- 23. 如何
- 24. 如何
- 25. 如何
- 26. 如何
- 27. 如何
- 28. 如何
- 29. 如何
- 30. 如何
最好不要使用鏈接唯一的答案,因爲鏈接可能會過期,讓每個人都想知道解決方案是什麼 – 2015-05-31 19:49:25
我會檢查它並編輯我的答案。 – 2015-05-31 19:53:00
赤我編輯答案 – 2015-06-01 12:53:54