After some research and testing and errors, I found a solution.
Of course, you need to activate Bindingin Activityor Fragmentand set up an instance for it ClickHandlerand have a variable for it in xmlfor ClickHandler. Assuming you already know this, I will continue:
One piece of magic is used app:addOnItemTouchListenerfor RecyclerView:
<android.support.v7.widget.RecyclerView
android:id="@+id/rec_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:addOnItemTouchListener="@{clickHandler.touchListener}"/>
The other part is ClickHandler.class:
public class ClickHandler {
public RecyclerView.OnItemTouchListener touchListener;
public ClickHandler(){
touchListener = new RecyclerView.SimpleOnItemTouchListener(){
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
return true;
}
@Override
public void onTouchEvent(RecyclerView rv, MotionEvent e) {
Log.d("onTouchEvent", "RecView: " + rv.getId() + "\nMotionEvent: "+ e.getAction());
}
};
}
public RecyclerView.OnItemTouchListener touchListener(){
return touchListener;
}
}
source
share