Чтобы обе функции работали для кликабельного изображения, которое будет реагировать как на короткие, так и на длинные щелчки, я попробовал следующее, которое, кажется, отлично работает:
image = (ImageView) findViewById(R.id.imageViewCompass);
image.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
shortclick();
}
});
image.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View v) {
longclick();
return true;
}
});
// Затем вызываемые функции:
public void shortclick()
{
Toast.makeText(this, "Why did you do that? That hurts!!!", Toast.LENGTH_LONG).show();
}
public void longclick()
{
Toast.makeText(this, "Why did you do that? That REALLY hurts!!!", Toast.LENGTH_LONG).show();
}
Кажется, что простой способ объявить элемент в XML активным, а затем определить функцию, вызываемую по клику, относится только к коротким щелчкам - у вас должен быть слушатель, чтобы различать короткие и длинныещелчки.