Подтвердить что ты не робот

Как отключить прокрутку GridView в Android?

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

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

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

4b9b3361

Ответ 1

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

Джава

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
}

Ответ 2

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