Ładuję kontakty telefoniczne w niestandardowym widoku listy. Każdy wiersz jest sprawdzanym LinearLayout zawierającym CheckedTextView i inny TextView.Nie można zaznaczyć/odznaczyć opcji CheckedTextView wewnątrz getView
Dostarczam widok listy niestandardowym ArrayAdapter. Mój problem polega na tym, że nie mogę kontrolować CheckedTextViews wewnątrz getView(). Na przykład, gdy próbuję wykonać następujące czynności:
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;
}
To powinno sprawdzić każdy widok tekstu za każdym razem, gdy przewijam widok listy, ale tak się nie dzieje. Czy ktoś może mi powiedzieć, jak to zrobić?
EDIT: To jest ważne, aby sprawdzić go wewnątrz getView(), nie mogę po prostu sprawdzić wszystko po setListAdapter()
Edit2: Jest to plik XML przedstawiający widok każdego wiersza
<?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 to niestandardowy układ, który rozszerza LinearLayout i implementuje Checkable, jak już wcześniej wspomniałem. I wziąłem go od here
nie muszę go być domyślnie zaznaczone. Właściwie powyższy kod nie jest moim rzeczywistym kodem, to tylko próbka demonstrująca mój problem. Wszystko, czego potrzebuję, to móc przełączać się do CheckedTextView wewnątrz getView() –
czy możesz opublikować xml –
Masz układ z 'checkbox', ale kiedy naciśniesz' checkbox' nie jest zaznaczone? –