如何将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="" 。