получить текст с определенной позиции в списке Android - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть ListView с custom_row, в каждой строке есть textView1 и textView2, в списке теперь 2 записи, и у меня есть кнопка, которой нет в списке.Когда я нажимаю кнопку, я хочу получить текст из textView2 из 2 записей.Возможно ли это?

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Я бы взял ярлык, у вас ListView заполняется Adapter, который использует набор данных.Этот набор данных может быть практически любой структурой данных, такой как Array, ArrayList и т. Д.

Определяемый вами макет, например custom_row, в вашем случае определяет только структуру вашего представления, т. Е. Элементы "где" будут отображаться впункт в списке.

С другой стороны, вы все еще обязаны сказать ListView "что" показать в textView1 и textView2.Это делается с помощью Adapter, который соединяет ListView с набором данных.Чаще всего ListView является отображением набора данных «один-к-одному», т.е. первый элемент в списке - это первый элемент в вашем наборе данных (я не знаю, что вы используете только для двух элементов, возможно,быть массивом).

ListView вызывает getCount() на Adapter, чтобы узнать, сколько всего будет просмотров.Затем он вызывает getView() для каждого вида, который будет отображаться на экране.Именно в этом методе вы определяете, что на самом деле будет отображаться в одном представлении в списке (ваш custom_row).

Теперь вы знаете, какая запись набора данных должна заполнять какое представление в ListViewтак что вы можете просто прочитать это там.Например, если ваш getView():

textView2.setText(getItem(position).getSomeTextField());

И исходный набор данных представляет собой ArrayList с именем listDataSet

Вы можете просто сделать listDataSet.get(2).getSomeTextField()

ПРИМЕЧАНИЕ: Вам придется управлять областью действия набора данных, чтобы он был виден из любого места, куда вы звоните.

1 голос
/ 23 февраля 2012

Верните свой ListView (возможно, уже сохраненный в объекте благодаря findViewById или вызовом getListView () для вашей ListActivity).

Затем вызовите getItemAtPosition () в списке, с нужной вам позицией.

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