У меня есть изображение, где мне нужно иметь как длинные нажатия (для контекстного меню), так и обычные рабочие прессы. Я могу заставить кого-то работать, но не обоих. Что я упустил? Код ниже работает только для обычных прессов. Как только я коснусь экрана, он начинает выполнение кода onTouch.android imageview длинное нажатие и регулярное нажатие
ImageView image = (ImageView)findViewById(R.id.visible_image);
image.setLongClickable(true);
image.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
// disable the screen taps for 500ms
DecodeActionDownEvent(v, ev, bm2);
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_UP:
}
return true;
}
});
registerForContextMenu(image);
...
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("Edit");
ArrayList<String> menuItems = new ArrayList<String>();
menuItems.add("Edit page settings");
menuItems.add("Edit page objects");
menuItems.add("Edit this object");
for (int i = 0; i<menuItems.size(); i++) {
menu.add(Menu.NONE, i, i, menuItems.get(i));
}
}
ОК, я не пробовал, и похоже, что это сработает. Можете ли вы рассказать мне, как получить координаты x и y с щелчком/длинным кликом из переданного в View v? – MrGibbage
Ничего, я понял. Мне все еще нужно держать слушателя OnTouch. Спасибо :) – MrGibbage