如果有人可以,我需要你的帮助,这对我的解决方案来说是件好事。 我不知道是否有可能,但我想尝试解决这个问题。 实际上我想在单按钮点击事件上实现两个方法,它只需点击一下,长按一下,这里是我的代码::
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也存在,仍然不能正常工作.. 所以,任何人都可以帮我解决..
先谢谢..
答案 0 :(得分:35)
我认为您需要 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
}
});