2014-10-28 3 views
0

내 목록보기가 스크롤되어 화면의 다른 부분을 터치하면 목록보기 스크롤이 중지됩니다. 그래서 거기에 몇 가지 조건에 따라 listView의 세로 스크롤을 중지하는 방법은 무엇입니까?목록보기의 스크롤을 동적으로 중지합니다.

컴파일하기 전에 스크롤을 사용 중지 할 수 있으며 onTouch()는 스크롤을 피하기 위해 true를 반환 할 수 있지만 터치하지 않고 중지 할 수는 없습니다.

답변

0

리플렉션을 사용하여 수행 할 수 있습니다. 어딘가에서이 코드를 찾았습니다.

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) {} 
관련 문제