Android получает текст из EditText в GridView - PullRequest
2 голосов
/ 09 ноября 2011

У меня есть GridView, который отображает несколько десятков строк пользовательского макета, каждая из которых состоит из EditText и объекта TextView.

Если я правильно понимаю, я должен расширить класс BaseAdapter для достижения этой цели. Если так, как я могу получить доступ к определенному объекту EditText?

Кроме того, приведет ли переработка представлений к потере текста, введенного пользователем, если одно из представлений EditText больше не отображается?

Есть ли более простое средство для выполнения того, что я здесь описываю (возможно, что-то отличное от GridView)?

Ответы [ 2 ]

1 голос
/ 09 ноября 2011

Когда вы расширяете BaseAdapter, один из методов, которые вы должны переопределить, - getView(...) В этом методе вы создаете представление, которое должно быть показано. Если вы хотите сохранить текст, введенный в EditText, вам нужно установить значение TextWatcher для EditText, передавая позицию EditText (параметр в getView(...)), и всякий раз, когда текст изменено, сохранить текст в виде массива. Затем всякий раз, когда эта позиция возвращается через метод getView(...), извлекайте текст из массива и заполняйте EditText.

0 голосов
/ 09 ноября 2011

Вы должны использовать базовую структуру данных (скажем, список), которая должна содержать данные для каждого элемента таблицы.

TextView и EditText должны быть заполнены из этого списка.

...