亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Android上將視圖的onClick事件傳遞給其父級?

如何在Android上將視圖的onClick事件傳遞給其父級?

藍山帝景 2019-12-21 12:45:26
我在布局中有一個TextView,誰的背景是一個選擇器。然后,將TextView的文本設置為“從HTML跨接”。然后,我使用LinkMovementMethod設置TextView?,F在,當我點擊TextView時,click事件不會發送到其父布局以觸發選擇器。應該如何解決?
查看完整描述

3 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

我認為您需要使用這些方法之一,以便能夠在事件發送到適當的組件之前對其進行攔截:


Activity.dispatchTouchEvent(MotionEvent) -這允許您的活動在將所有觸摸事件分派到窗口之前攔截它們。


ViewGroup.onInterceptTouchEvent(MotionEvent) -這允許ViewGroup在將事件調度到子View時監視它們。


ViewParent.requestDisallowInterceptTouchEvent(boolean) -在父視圖上調用此方法,以指示它不應使用onInterceptTouchEvent(MotionEvent)攔截觸摸事件。


查看完整回答
反對 回復 2019-12-21
?
慕容森

TA貢獻1853條經驗 獲得超18個贊

TextView使用android:clickable="false"和android:focusable="false"或v.setClickable(false)和聲明您不可點擊/不能聚焦的內容v.setFocusable(false)。點擊事件應立即發送到TextView的父級。


注意:


為了實現這一點,您必須在其直接框中添加click parent?;蛘咴O置 android:clickable="false"和android:focusable="false"其直接父傳聽眾進一步父。


查看完整回答
反對 回復 2019-12-21
?
弒天下

TA貢獻1818條經驗 獲得超8個贊

有時只有這樣有幫助:


View child = parent.findViewById(R.id.btnMoreText);

    child.setOnClickListener(new OnClickListener() {


        @Override

        public void onClick(View v) {

            View parent = (View) v.getParent();

            parent.performClick();

        }

    });

另一個變體并不總是有效:


child.setOnClickListener(null);


查看完整回答
反對 回復 2019-12-21
  • 3 回答
  • 0 關注
  • 554 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號