Android, GridView и onTouchListener - PullRequest
0 голосов
/ 26 июля 2010

В моем приложении три страницы (три вкладки), и я хочу переключаться между двумя видами сетки, перемещая палец по горизонтали.Сенсорный код работает нормально, но я не могу больше нажимать на элементы сетки!Я использую метод onItemClickListener (onClickListener не работает в Gridview), но элемент сетки не щелкается.Спасибо за вашу помощь!

Код:

myGrid.setOnTouchListener(this);
myGrid.setOnItemClickListener(this);
....

public boolean onTouch(View v, MotionEvent event) {
    int eventaction = event.getAction();
    switch (eventaction) {
    case MotionEvent.ACTION_DOWN:
        xStart = event.getX();
        break;
    case MotionEvent.ACTION_UP:
        xEnd = event.getX();

        if (xEnd - xStart > 20){

            //switch to previous tab
        }
        if (xEnd - xStart < -20){
            //switch to next tab
        }
        return true;
    default:
        break;
    }
    return true;
}

1 Ответ

1 голос
/ 26 июля 2010

В каком представлении находится этот код onTouch?Вы можете попытаться изменить это последнее return true на return false, чтобы, если действие не было событием motion, событие не использовалось представлением.

...