Как отключить прокрутку GridView в Android? - PullRequest
35 голосов
/ 31 января 2011

Я использую GridView для игровой доски.В последнее время у некоторых пользователей возникали проблемы с вертикальной прокруткой платы (на телефонах Samsung Galaxy / Vibrant с 2.2) - эта ошибка не возникает на моем Nexus One.

Один пользователь создал несколько снимков экрана проблемы.

Как я могу заблокировать GridView на месте?Есть ли способ отключить прокрутку?

Ответы [ 2 ]

92 голосов
/ 27 июня 2011

Попробуйте добавить или переопределить setOnTouchListener для GridView, затем в методе onTouch вы можете использовать подобный код, чтобы gridView не прокручивался

Java

gridView.setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        return event.getAction() == MotionEvent.ACTION_MOVE;
    }

});

Котлин

gridView.setOnTouchListener { v, event ->
    event.action == MotionEvent.ACTION_MOVE
}
10 голосов
/ 31 января 2011

Вы можете попробовать setEnabled (false), хотя это может иметь и другие побочные эффекты. GridView на самом деле не предназначен для использования так, как вы его используете. Вы должны создать свой собственный вид или макет. Вы также можете использовать TableLayout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...