0
當我的列表視圖滾動,然後我觸摸屏幕上的其他地方時,應該停止listview滾動。那麼有沒有辦法根據條件停止listView的垂直滾動?動態停止listview的滾動
我可以在編譯和onTouch()之前禁用滾動,我可以返回true以避免滾動,但我不會在沒有觸摸它的情況下停止滾動。
當我的列表視圖滾動,然後我觸摸屏幕上的其他地方時,應該停止listview滾動。那麼有沒有辦法根據條件停止listView的垂直滾動?動態停止listview的滾動
我可以在編譯和onTouch()之前禁用滾動,我可以返回true以避免滾動,但我不會在沒有觸摸它的情況下停止滾動。
可以使用反射來完成。找到這個代碼的地方。
try {
Field field = android.widget.AbsListView.class.getDeclaredField("mFlingRunnable");
field.setAccessible(true);
Object flingRunnable = field.get(listView);
if (flingRunnable != null) {
Method method = Class.forName("android.widget.AbsListView$FlingRunnable").getDeclaredMethod("endFling");
method.setAccessible(true);
method.invoke(flingRunnable);
}
} catch (Exception e) {}