3 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
我認(rèn)為您需要使用這些方法之一,以便能夠在事件發(fā)送到適當(dāng)?shù)慕M件之前對(duì)其進(jìn)行攔截:
Activity.dispatchTouchEvent(MotionEvent) -這允許您的活動(dòng)在將所有觸摸事件分派到窗口之前攔截它們。
ViewGroup.onInterceptTouchEvent(MotionEvent) -這允許ViewGroup在將事件調(diào)度到子View時(shí)監(jiān)視它們。
ViewParent.requestDisallowInterceptTouchEvent(boolean) -在父視圖上調(diào)用此方法,以指示它不應(yīng)使用onInterceptTouchEvent(MotionEvent)攔截觸摸事件。

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
TextView使用android:clickable="false"和android:focusable="false"或v.setClickable(false)和聲明您不可點(diǎn)擊/不能聚焦的內(nèi)容v.setFocusable(false)。點(diǎn)擊事件應(yīng)立即發(fā)送到TextView的父級(jí)。
注意:
為了實(shí)現(xiàn)這一點(diǎn),您必須在其直接框中添加click parent?;蛘咴O(shè)置 android:clickable="false"和android:focusable="false"其直接父?jìng)髀?tīng)眾進(jìn)一步父。

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
有時(shí)只有這樣有幫助:
View child = parent.findViewById(R.id.btnMoreText);
child.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
View parent = (View) v.getParent();
parent.performClick();
}
});
另一個(gè)變體并不總是有效:
child.setOnClickListener(null);
- 3 回答
- 0 關(guān)注
- 549 瀏覽
添加回答
舉報(bào)