TextView上的onclick事件(TextIsSelectable =“true”)是ony调用第二次点击

我有一个textview和TextView的标志,它是selectable 。 但是我指定的onclick事件仅在第二次点击textview时调用。 第二次调用onclick的权利,但如果其他onclicklistenerselectableonclicklistener selectable它也只是第二次调用,那么它工作正常,但另一个只有第二次再次工作。 我无法find这个奇怪的事件的来源。

 telefoonTXT.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) {startTelIntent();}} ); urlTXT.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) {startWebIntent();} }); 

  • setOnclickListener vs OnClickListener vs View.OnClickListener
  • 可点击的图像区域
  • 真正的自定义形状的button
  • setOnClickListener和setOnLongClickListener调用单个button的问题
  • 我怎样才能有可点击的Spannables的EditText,仍然可以通过longClickselect?
  • Android - 自定义BaseAdapter Gridview,创buildonclicklistener
  • 使用OnClick TextViewselect文本 - 如何避免双击?
  • OnItemClickListener和OnClickListener不适用于ListView
  • 我也遇到了这个问题。 每当触摸文本视图时,首先onTouch ,然后OnSelection和最后OnClick被调用。 如果我明白你的问题,你要在文本视图中select文本,当用户double tapslong pressesbutton像一般的文字select,但是当用户只需点击一下你想要的onClickfunction。 我认为以下可能会帮助你。

    gestureDetector添加到您的文本视图。

     GestureDetectorCompat mDetector; mDetector = new GestureDetectorCompat(this, new GestureDetector.SimpleOnGestureListener()); mDetector.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener() { @Override public boolean onSingleTapConfirmed(MotionEvent e) { // This is where u add your OnClick event startTelIntent(); return false; } @Override public boolean onDoubleTap(MotionEvent e) { Log.d("dtttt", "double tap"); return false; } @Override public boolean onDoubleTapEvent(MotionEvent e) { return false; } }); telefoonTXT.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { mDetector.onTouchEvent(event); return false; } }); 

    设置这个…

     TextisSelectable = "false" 

    我认为这将是正确的工作