LongClick事件还会触发Click事件

我使用按钮的onLongClick和onClick事件来获取用户输入。 每当; 用户长按并触发onLongClick事件,也会触发onClick事件。 我找不到我的问题。 两种方法的代码如下所示:

@Override public void onClick(View v) { switch(((Button) v).getId()) { case R.id.enter: EntertheNumber(); break; case R.id.clear: CleartheNumber(); break; case R.id.number_zero: case R.id.number_one: case R.id.number_two: case R.id.number_three: case R.id.number_four: case R.id.number_five: case R.id.number_six: case R.id.number_seven: case R.id.number_eight: case R.id.number_nine: AddtotheNumber(mEditor, (Button) v); break; } @Override public boolean onLongClick(View view) { if(SMBGuesstheNumber.bDisplayFlagList) { theActiveButton = (Button) view; showDialog(R.id.display_flaglist); } return false; } 

实际上,我的项目是开源。 因此,您可以在http://code.google.com/p/guessthenumber/find所有代码

谢谢。

Related of "LongClick事件还会触发Click事件"

我不确定这些事件发生的顺序,但onLongClick处理程序返回一个bool来指示是否处理了该事件。 如果您处理它,则应返回true,以便不会调用其他单击事件。 我不知道这是否会阻止onClick()发射。

您也可以使用setClickable(boolean)和setLongClickable(boolean)关闭和打开这些事件

您可以在此处find此信息以及有关UI事件的更多信息。

以下是有关触摸事件的简短摘要: http : //rxwen.blogspot.com/2010/10/android-touch-event-summary.html