android开发分享如何将onClick事件传递给它的父母在Android上?

我有一个布局的背景是一个select器的TextView。 TextView的文本被设置为从HTML生成。 然后我用LinkMovementMethod设置TextView。

现在,当我点击TextView时,单击事件不会发送到其父布局来触发select器。

这应该如何解决? 谢谢!

    我想你需要使用这些方法之一,以便能够在发送到适当的组件之前拦截事件:

    Activity.dispatchTouchEvent(MotionEvent) – 这可以让您的Activity在发送到窗口之前拦截所有的触摸事件。

    ViewGroup.onInterceptTouchEvent(MotionEvent) – 这允许ViewGroup在事件被分派到子视图时观察事件。

    ViewParent.requestDisallowInterceptTouchEvent(boolean) – 在父视图中调用此方法,以指示不应使用onInterceptTouchEvent(MotionEvent)拦截触摸事件。

    更多信息在这里 。

    希望有所帮助。

    通过使用android:clickable="false"android:focusable="false" v.setClickable(false) android:focusable="false"v.setClickable(false)v.setFocusable(false)声明TextView不可点击/可聚焦。 点击事件现在应该分派给TextView的父项。

    注意:

    为了实现这一点 ,你必须添加点击其直​​接parent 。 或者将android:clickable="false"android:focusable="false"设置为其直接父级, 以将侦听器传递给父级

    有时只有这有助于:

     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); 

     android:duplicateParentState="true" 

    在孩子看来,意见从其直接的父母而不是从其本身得到其可绘制的状态(集中,压制等)。 你可以为父母设置onclick,并调用点击的孩子

    如果你的TextView创build点击问题,比从你的XML文件中删除android:inputType=""

      以上就是android开发分享如何将onClick事件传递给它的父母在Android上?相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/518329.html

      (0)
      上一篇 2020年12月6日
      下一篇 2020年12月6日

      精彩推荐