我有一个带有图像按钮的应用程序,它同时具有onclick和onlongclick监听器。但是,当长按按钮时,这两个侦听器都在执行。有什么建议吗?
d1.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
selectMode = true;
dockNum = 1;
sd1.open();
d1.cancelLongPress();
return false;
}
});
...d1.setOnClickListener(this);
...case R.id.d1:
if(d1s.equals("empty")) {
selectMode = true;
dockNum = 1;
sd1.open();
} else {
Intent d1i = pm.getLaunchIntentForPackage(d1s);
startActivity(d1i);
}
break;
答案 0 :(得分:5)
我认为你的问题与你在onLongClick方法中返回false的事实有关。尝试返回true(尽管事实上你取消了长按,返回true只是说“我已经处理了这个,不需要进一步的操作。”)。