Я попытался создать головной сервис чата facebook. со ссылкой на эту ссылку . Метод OnTouch работает нормально. При длительном нажатии на изображение я хочу удалить изображение из текущего представления. Я использовал OnLongClickListener(), он не работает и не показывает ошибок. Как удалить изображение. При длительном нажатии.
OnLongClickListener при просмотре изображения не работает в реализации заголовка чата facebook
comment
попробуйте добавить longClickable=true в представление изображения
- person Arturs Vancans   schedule 22.04.2015
comment
@Arturs, спасибо за ответ. Я добавил, что в моем коде все еще не работает.
- person Ram   schedule 22.04.2015
Ответы (2)
Кажется, вы переопределяете сенсорный прослушиватель.
chatHead.setOnTouchListener(new View.OnTouchListener() {
private int initialX;
private int initialY;
private float initialTouchX;
private float initialTouchY;
@Override public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
initialX = params.x;
initialY = params.y;
initialTouchX = event.getRawX();
initialTouchY = event.getRawY();
return true;
case MotionEvent.ACTION_UP:
return true;
case MotionEvent.ACTION_MOVE:
params.x = initialX + (int) (event.getRawX() - initialTouchX);
params.y = initialY + (int) (event.getRawY() - initialTouchY);
windowManager.updateViewLayout(chatHead, params);
return true;
}
return false;
}
});
Поэтому вам нужно реализовать длинный щелчок вручную.
Псевдокод для этого будет выглядеть примерно так:
case MotionEvent.ACTION_DOWN:
initialX = params.x;
initialY = params.y;
initialTouchX = event.getRawX();
initialTouchY = event.getRawY();
action_down_time = System.currentTimeMillis()
return true;
case MotionEvent.ACTION_UP:
//long click triggered if held for at least 2 sec (2000ms)
if (System.currentTimeMillis() - action_down_time > 2*1000) {
your_long_click_callback_function()
}
return true;
РЕДАКТИРОВАТЬ: вы также можете проверить тайминги в ACTION_MOVE.
person
Arturs Vancans
schedule
22.04.2015
Я. Я переопределяю сенсорный прослушиватель. Теперь он работает нормально.
- person Ram; 29.04.2015
Попробуйте добавить эти строки при инициализации вашего ImageView
imageView.setLongClickable(true);
imageView.setClickable(true);
ИЛИ в XML-файле вашего макета
android:longClickable="true"
Эти строки должны включать OnLongClick, если он не включен.
Ссылка: ссылка и ссылка< /а>
person
Sami Eltamawy
schedule
22.04.2015