单按钮问题上的setOnClickListener和setOnLongClickListener调用

如果有人可以,我需要你的帮助,这对我的解决方案来说是件好事。 我不知道是否有可能,但我想尝试解决这个问题。实际上我想在单按钮点击事件上实现两种方法,简单的点击和长按,这里我的代码::

homebutton = (ImageButton) findViewById(R.id.home_icon); homebutton.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { Intent intent = new Intent(context, MainActivity.class); startActivity(intent); } }); homebutton.setOnLongClickListener(new OnLongClickListener() { public boolean onLongClick(View arg0) { Toast.makeText(getApplicationContext(), "Long Clicked " , Toast.LENGTH_SHORT).show(); return false; } }); 

所以,在这里我得到了一些错误,即使单击也是完美的,长按也是有效的,但问题是长按事件后它还启动了onClick方法的上述代码中定义的MainActivity ..

这不应该做,返回false也在那里,仍然没有按我的意愿工作..所以,任何人请帮助我解决它..

提前致谢..

我相信你需要在你的onLongClick方法中返回 TRUE – 告诉框架触摸事件被消耗并且不需要进一步的事件处理。

 homebutton.setOnLongClickListener(new OnLongClickListener() { public boolean onLongClick(View arg0) { Toast.makeText(getApplicationContext(), "Long Clicked " , Toast.LENGTH_SHORT).show(); return true; // <- set to true } });