#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.
Комментариев нет:
Отправить комментарий