#java #android #android_on_click #ontouchlistener
Возникла следующая проблема: Имеется кнопка у которой необходимо обрабатывать два слушателя. Первый это onTouchListener, второй onClickListener. Код слушателя onTouchListener() ниже: OnTouchListener dragt = new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { FrameLayout.LayoutParams par = (LayoutParams) v.getLayoutParams(); switch(v.getId()) { case R.id.button1: { switch(event.getAction()) { case MotionEvent.ACTION_MOVE: { par.topMargin = (int)event.getRawY() - (v.getHeight()); par.leftMargin = (int)event.getRawX() - (v.getWidth()/2); par.bottomMargin = (int)event.getRawX() - (v.getWidth()/2); par.rightMargin = (int)event.getRawX() - (v.getWidth()/2); v.setLayoutParams(par); break; } case MotionEvent.ACTION_UP: { par.height = 120; par.width = 120; par.topMargin = (int)event.getRawY() - (v.getHeight()); par.leftMargin = (int)event.getRawX() - (v.getWidth()/2); par.bottomMargin = (int)event.getRawX() - (v.getWidth()/2); par.rightMargin = (int)event.getRawX() - (v.getWidth()/2); v.setLayoutParams(par); break; } case MotionEvent.ACTION_DOWN: { par.height = 150; par.width = 150; v.setLayoutParams(par); break; } } break; } } return true; } }; Мне же необходимо чтобы при обычном клике срабатывал onClick(). Назначал слушателя onClickListener - не работает(то есть онтач срабатывает, а онклик нет), назначал кнопке свойство android:onClick="knopka" Далее вызывал в активити: public void knopka(View v) { System.out.println("Работай же!!!"); } Все равно не работает. Как еще сделать не представляю!
Ответы
Ответ 1
Как обычно, читаем документацию: Returns True if the listener has consumed the event, false otherwise. Таким образом, как нетрудно догадаться, вам нужно возвращать из OnTouchListener.onTouch false, а не true.
Комментариев нет:
Отправить комментарий