JohnDaniels
@JohnDaniels

Как получить все TextView на экране?

ArrayAdapter формирует список ListView, каждый из элементов которого содержит два TextView :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:id="@+id/card"
    android:layout_height="match_parent"
    android:background="@drawable/border"
    android:gravity="center_vertical"
    android:paddingTop="50dp">
    <TextView
        android:id="@+id/content"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp"
        android:layout_marginLeft="50dp" />
    <TextView
        android:id="@+id/content2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="100dp"
        android:layout_marginLeft="50dp" />
</LinearLayout>

public class CardsDataAdapter extends ArrayAdapter<Card> {
 @Override
        public View getView(int position, final View contentView, ViewGroup parent){
            Card card = getItem(position);

            TextView v1 = (TextView) contentView.findViewById(R.id.content);
            v1.setText(card.word);

            TextView v2 = (TextView) contentView.findViewById(R.id.content2);
            v2.setText(card.translate);

            return contentView;
        }
}


далее мне нужно получить ВСЕ TextView android:id="@+id/content2".

findViewById возвращает один элемент (причем почему-то случайный),
findViewWithTag - то же самое.

пробовал в getView динамически присваивать тэги
TextView v2 = (TextView) contentView.findViewById(R.id.content2);
            v2.setText(card.translate);
            v2.setTag(String.valueOf(position));

//****************************//

findViewWithTag(String.valueOf(1)) // тут все рушится


соответственно, вопросы - как получить массив элементов по какому-либо признаку?
насколько корректно вообще создавать кучу элементов с одинаковым id?
  • Вопрос задан
  • 294 просмотра
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Вы, видимо, неправильно понимаете, как работать с ListView. Вам ни при каких обстоятельствах не нужен массив этих TextView. Расскажите, что вы хотите сделать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы