найти Textview в ListActivity в Android - PullRequest
1 голос
/ 01 марта 2012

Я использую ListActivity для отображения информации о фондовом рынке.Каждая строка имеет свой собственный макет с 4 текстовыми представлениями.Мне нужно обновлять информацию о каждой акции по мере их изменения.Моя проблема в том, что я могу извлечь конкретное представление из списка, однако я не знаю, как найти текстовое представление в этом представлении. Код ниже может прояснить мою проблему.Вот что я сделал, но это не сработало:

 ListView list = (ListView) findViewById(R.id.list);
 View r =  list.getChildAt(2);
 TextView t =  (TextView) r.findViewById(R.id.t_buy);
 t.setText("3200$");

t_buy - это одно из текстовых представлений в моем макете.Я прыгал, что у андроида есть что-то вроде ниже, но это не так.

 TextView t =  (TextView) r.getChildAt(R.id.t_buy);

Это снимок экрана моего приложения.

a busy cat

Ответы [ 4 ]

1 голос
/ 02 марта 2012

Создайте свой собственный адаптер из BaseAdapter и переопределите метод:

@Override
public View getView(int position, View convertView,
            ViewGroup parent)
{
    //...
    TextView textView;
    textView = (TextView)view.findViewById(R.id.itemText);
    textView.setText("some text");

}

см. Подробности режима здесь: http://codinglines.frankiv.me/post/14552677846/android-implementing-a-dynamically-loading-adapter

1 голос
/ 01 марта 2012

Вы можете обновить элементы в адаптере, а затем вызвать adapter.notifyDataSetChanged

1 голос
/ 01 марта 2012

Вы можете попробовать использовать getAdaper () для объекта списка, а затем использовать getItem () для получения того, что вам нужно.

0 голосов
/ 01 марта 2012

Я думаю, что было бы лучше, если бы вы могли использовать метод View getView , потому что вы используете ListView, и когда вы нажимаете на элемент списка, вы хотите заполнить один из ваших пользовательских макетов четырьмя TextViews, как упомянул. Это ссылки показывают, как это сделать четко.

...