GridView как выделить item "вручную"?

Ответить
Boris_B
Сообщения: 1
Зарегистрирован: 16 окт 2013, 09:57

GridView как выделить item "вручную"?

Сообщение Boris_B » 16 окт 2013, 10:03

Хочу написать для портфолио игру Балду.

В электронной версии каждый ход игры состоит из двух этапов: выбор буквы и ввод слова.

Изображение

Ранее реализовывал это обрабатывая события касания в контроллере, обращаясь к модели поля и сохраняя какие позиции были выделены.
Но это все как-то неправильно, костыли, так сказать.

По идее надо делать кастомный gridview, который бы по-разному реагировал на касания.
Когда надо выбират букву создавал бы onItemClick событие, а когда надо вводить слово запоминал бы выделенные позиции, собственно выделял бы их и генерировал бы событие по окончанию жеста.

Проблема в нескольких вещах:
Во-первых, никак не могу выделить (подсветить) какую-либо позицию. Пробовал и itemView.setSelected(true) и gridview.setSelection(int position, true), не подсвечивается клетка и все тут.
Во-вторых, выделять ведь можно не все клетки, и gridview эту информацию должна получить, причем не напрямую от модели, а через адаптер. Насколько понимаю, это можно сделать через метод адаптера isEnabled(position);
Так вопрос, как бы вы реализовали данную функциональность?
Как можно сделать через кастомный gridview?
Как выделить item в gridview?

PS stackoverflow обшарен вдоль и поперек, решения не найдено.
Стандартные типа:
android:background="?android:attr/activatedBackgroundIndicator"
не помогают.

На 4pda уже тему создавал, предлагают делать через одно место. Через одно место - не хочу, уже пробовал =)
http://4pda.ru/forum/index.php?showtopi ... ry25852444

Ответить