#android #camera #ontouchlistener
Не работает данный кусок кода, не могу понять почему. sv- это SurfaceView, которое используется для отображения камеры(это для заметки). sv.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { if(motionEvent.getAction() == MotionEvent.ACTION_DOWN){ Toast.makeText(MainActivity.this, "onTouch", Toast.LENGTH_SHORT).show(); return true;}}});
Ответы
Ответ 1
Попробуйте другое событие. sv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(View.getContext(), "Clicked", Toast.LENGTH_SHORT).show(); Log.v("W", "Clicked"); });Ответ 2
Делал список на основе ListView. Нужны были свайпы, скрол и *синглтачи*. Не хотелось использовать или кастомить никакие GestureDetector-ы. Но одновременное вешание нескольких *листенеров* на одну вьюху заканчивалось только тем что приходилось делать костыли которые намного тяжелее чем любой GestureDetector. Потому, пришлось повесить на вьюху OnTouchListener, из метода onTouch передавать событие касания в GestureDetectorCompat, и уже в его методе onScroll реализовал саму логику *свайпа*. *Синглтачи* обрабатывал средствами того же `GestureDetectorCompat.
Комментариев нет:
Отправить комментарий