Я пытаюсь получить view.getId() из представления, полученного с использованием recyclerView.findChildViewUnder(e.getX(), e.getY())
, но она всегда возвращает -1getId() в представлении, полученном из recyclerView.findChildViewUnder (e.getX(), e.getY()) - -1
Вот соответствующий код:
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
View view = recyclerView.findChildViewUnder(e.getX(), e.getY());
if (view !=null) {
onClick(view);
}
return super.onSingleTapConfirmed(e);
}
Вот как я зарегистрировать gesturelistener:
gestureDetector = new GestureDetectorCompat(getActivity(), new RecyclerViewGestureListener());
Я пытаюсь получить V Идентификатор iew в onClick(View view)
что соотношение между *** view.getId() *** и *** recyclerView.findChildViewUnder (e.getX(), e.getY()) *** ???? –
Кажется, что вы зарегистрировались для событий на родительском объекте вашего ресайклера, когда вы должны зарегистрироваться на самом экране ресайклера, чтобы получить правильное отображение координат событий движения. – Mariusz
@ ΦXocę 웃 Пepeúpa ツ 'recyclerView.findChildViewUnder (e.getX(), e.getY())' возвращает представление? – syfy