Я загружаю телефонные контакты в пользовательский ListView. Каждая строка представляет собой проверочный LinearLayout, содержащий CheckedTextView и другой TextView.
Я подаю представление списка с помощью настраиваемого ArrayAdapter. Моя проблема в том, что я не могу контролировать CheckedTextViews внутри getView(). Например, когда я пытаюсь выполнить следующие
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
if(row == null){
row = inflater.inflate(layout, parent, false);
}
CheckedTextView checkedTextView = (CheckedTextView) row.findViewById(R.id.checkedTextView);
checkedTextView.setText("A");
checkedTextView.setChecked(true);
return row;
}
Это должно проверять каждое текстовое представление всякий раз, когда я просматриваю список, но этого не происходит. Может ли кто-нибудь сказать мне, как это сделать?
EDIT: важно проверить его внутри getView(), я не могу просто проверить все после setListAdapter()
EDIT2: это xml файл, отображающий представление каждой строки
<?xml version="1.0" encoding="utf-8"?>
<com.example.multiplecontacts.CheckableLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<CheckedTextView
android:id="@+id/checkedTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:paddingBottom="0dp"
android:text="CheckedTextView"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/subTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Small Text"
android:paddingTop="0dp"
android:textAppearance="?android:attr/textAppearanceSmall" />
</com.example.multiplecontacts.CheckableLinearLayout>
CheckableLinearLayout - это настраиваемый макет, который расширяет LinearLayout и реализует Checkable, как я уже говорил. И я взял его из здесь