2016-04-23 20 views
5

Mam RecyclerView w mojej aplikacji i wyświetla dane. Chcę wyłączyć zdarzenia dotykowego użytkownika RecyclerView. Próbowałem poniższy kod, ale to nie działa.wyłączyć zdarzenia dotykowe w oknie RecyclerView (aby zapobiec dotknięciom użytkownika)?

recyclerView.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     return false; 
    } 
}); 

Proszę mi pomóc.

+0

Można to sprawdzić na dotykowy zdarzenia na każdej pozycji. http://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnItemTouchListener.html – androidnoobdev

+0

Chciałbym rozszerzyć RecyclerView i zastąpić onTouch i onInterceptTouchEvent, aby zawsze zwracać fałsz. –

Odpowiedz

4

Jak miałem podobny przypadek użyć kilka dni temu i natknęliśmy się na to pytanie właśnie teraz:
można dodać albo

do RecyclerView .

Przykład wykorzystania RecyclerView.SimpleOnItemTouchListener:

recyclerView.addOnItemTouchListener(new RecyclerView.SimpleOnItemTouchListener() { 
    @Override 
    public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) { 
     // true: consume touch event 
     // false: dispatch touch event 
     return true; 
    } 
}); 

I spożywane dotykowego imprezę, podczas gdy mój SwipeRefreshLayout robił pracę tła przez odpytywanie swipeLayout.isRefreshing().

0

Można zastąpić LinearLayoutManager canScrollHorizontally metodę

getRecyclerView().setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false) { 
    @Override 
    public boolean canScrollHorizontally() { 
     return false; 
    } 
}); 
Powiązane problemy