我在列表中有一個「單元格」,其中包含圖片,文本和複選框。這裏是我的xml fragment_people_list_item.xml
:查找在RecyclerView中點擊(點擊)的視圖
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android">
// ... more elements
<CheckBox />
</RelativeLayout>
我想,如果用戶點擊一個複選框或視圖的其餘部分區分開來。我RecyclerView.OnItemTouchListener
的相關部分:
@Override
public boolean onInterceptTouchEvent(RecyclerView recyclerView, MotionEvent e) {
View childView = recyclerView.findChildViewUnder(e.getX(), e.getY());
}
它說,findChildViewUnder
找到對應點,這一直是我RelativeLayout
下最上面的觀點!
如何知道用戶點擊哪個視圖(點擊)?
您應該使用自定義適配器來實現這樣的事情。 試試這個答案http://stackoverflow.com/a/13220810/783612。 – fastholf
那麼我可以很容易地附加一個'OnClickListener'或'OnCheckedChangeListener'。問題是點擊複選框會做兩件事:1.自己勾選複選框; 2:進一步傳播給我的'onInterceptTouchEvent'監聽器 – dVaffection
而在我的'onInterceptTouchEvent'監聽器中,我不想在我的複選框上調用setChecked,如果點擊它,反之亦然。是否有意義? – dVaffection