Я загружаю телефонные контакты в пользовательский 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;
}
Это должно проверять каждое текстовое представление всякий раз, когда я прокручиваю представление списка, но этого не происходит. Кто-нибудь может сказать мне, как это сделать?
РЕДАКТИРОВАТЬ: важно проверить это внутри 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, как я уже говорил. И я взял его из здесь
checkbox
, но когда вы нажимаетеcheckbox
, он не проверяется? - person Trung Nguyen   schedule 28.09.2012public View getView(int position, View convertView, ViewGroup parent) {..... ((ListView) parent).setItemChecked(position, true);....}
- person fox   schedule 22.07.2014