我試圖做一些事情後,滾動停止。所以,我試圖使用OnScrollListener#onScrollStateChanged(SCROLL_STATE_IDLE)
來檢測滾動停止(TOUCH_SCROLL or FLING
)(1.5時它是按我的預期運行)。 但是,當它在2.0上運行時,onScrollStateChanged無法在釋放手指後收到事件。是否有任何回調或無論如何檢測該事件?如何檢測Android ListView滾動停止?
回答
嘗試使用setOnScrollListener貫徹onScrollStateChanged與scrollState == 0 ...你需要做什麼......
setOnScrollListener(new OnScrollListener() {
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
Log.i("a", "scrolling stopped...");
}
}
});
而不是硬編碼等於0,請使用OnScrollListener.SCROLL_STATE_IDLE 如果您嘗試檢測何時滾動停止...如果你正在嘗試檢測手指/背景沒有觸摸屏幕時,這將是一個不同的方法.. – 2009-11-25 22:14:26
我剛剛用2.0測試了上面的代碼,它工作得很好...... – 2009-11-25 22:51:32
關鍵是要保持在用戶丟,當軌道他們不是。這似乎是你可以做出的唯一區別,因爲像你說的那樣,用手指滾動到空閒的轉換是記錄的而不是。這裏就是我說的:
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState != OnScrollListener.SCROLL_STATE_FLING) {
flinging = false;
int count = view.getChildCount();
for (int i = 0; i < count; i++) {
View convertView = view.getChildAt(i);
Recipe recipe = (Recipe) convertView.getTag();
ImageView image = (ImageView) convertView.findViewById(R.id.icon);
if (recipe != null && recipe.getImageURL() != null) {
ImageLoader.loadImage(this, image, recipe.getImageURL());
}
}
} else {
flinging = true;
}
}
然後在ListView適配器:
public View getView(int position, View convertView, ViewGroup parent) {
// Bunch of code....
if (!flinging) {
ImageLoader.loadImage(BrowseRecipes.this, image, recipe.getImageURL());
}
}
所以,與其反應,在聽者的變化,只是加載圖像(或者任何你需要首先要做到這一點),只要沒有發生。
這是全部從我的項目中取出:https://github.com/pkulak/mealfire_android
- 1. UICollectionView:如何檢測滾動停止
- 2. 停止listview的自動滾動android
- 3. Android ListView滾動間歇停止
- 4. Android 2.3.3 ListView停止垂直滾動
- 5. Android:滾動視圖停止滾動時檢測
- 6. Android:當水平滾動視圖停止滾動時檢測
- 7. 如何停止ListView中的超滾動?
- 8. onDown時停止ListView滾動
- 9. ScrollViewer停止滾動時檢測
- 10. 當圖庫停止滾動時檢測?
- 11. Android ListView在滾動視圖內停止滾動
- 12. 如何停止滾動後重置值的Android ListView?
- 13. ListView停止滾動不起作用
- 14. 動態停止listview的滾動
- 15. 不連續滾動 - 檢測用戶是否停止滾動
- 16. jQuery的滾動()檢測時,用戶會停止滾動
- 17. 防止ListView滾動
- 18. 如何在Android ListView中檢測過度滾動?
- 19. 無論如何,我可以檢測滾動和滾動停止事件嗎?
- 20. textarea停止滾動android
- 21. 如何停止滾動
- 22. Android:如何檢測滾動結束
- 23. 任何方式來檢測瀏覽器停止重新滾動滾動?
- 24. 滾動列停止滾動
- 25. 停止ListView Cell在Android中滾動時刷新?
- 26. android listview停止滾動背景圖像的第二個
- 27. 停止滾動的listview,並使整個視口在Android中滾動
- 28. 防止自定義ListView刷新滾動。我想停止刷新
- 29. 檢測元素是否停止動量滾動?
- 30. 頁停止滾動
下面的答案是否可以接受?如果是,請接受,否則我會期待對答案的某種反饋;-) – 2010-07-30 17:34:03