最近有一個(gè)需求提揍,RecyclerView外層嵌套了一個(gè)LinearLayout虎韵,想實(shí)現(xiàn)點(diǎn)擊整個(gè)LinearLayout都能響應(yīng)一個(gè)事件,結(jié)果給LinearLayout和RecyclerView都加上點(diǎn)擊事件(非itemClick)后鞠抑,點(diǎn)擊RecyclerView范圍無(wú)效跷叉。可能是RecyclerView的item截獲了click事件瘾蛋,阻止了點(diǎn)擊的透?jìng)骼洌隽艘韵绿幚斫鉀Q
// 通過(guò)下面的方法,開(kāi)啟LinearLayout 的點(diǎn)擊事件哺哼,使LinearLayout 可以調(diào)用OnClick()
recyclerView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
myLayout.performClick(); //模擬父控件的點(diǎn)擊
}
return false;
}
});