Próbuję umieścić pole wyboru w ExpandableListView. Jak mogę to zrobić? Rozszerzam BaseExpandableListAdapter i umieszczam w getGroupView():Android - bloki CheckBox ExpandableListView.OnGroupClickListener
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView,
ViewGroup parent) {
View view = convertView == null ?
context.getLayoutInflater().inflate(R.layout.onet_head, null) : convertView;
((TextView)view.findViewById(R.id.onetText)).setText(cats.get(groupPosition).value);
return view;
}
Zauważ, że układ jest zawyżony? Właśnie tam umieszczam TextView i CheckBox. Zauważyłem, że umieszczenie pola wyboru w moim layoucie wiersza grupy wyłącza funkcję domyślnego wiersza grupy, gdy kliknięcie wiersza powoduje wyświetlenie listy pomocniczej (potomnej). CheckBox działa zgodnie z oczekiwaniami, ale po kliknięciu poza nim kliknięcie nigdy nie jest wykrywane przez eter CheckBox ani przez OnGroupClickListener. Podejrzewam, że umieszczenie CheckBoxa w rzędzie grupowym w ten sposób przeszkadza w wykryciu zdarzenia/obsłudze, ale do tej pory nie jestem w stanie go wykryć.
Czy ktoś może mi pomóc rozwiązać ten problem? CheckBox działa dobrze, ale obejmuje także wykrywanie kliknięć, gdy kliknięcie bezpośrednio na polu
Matt! Dziękuję bardzo, to rzeczywiście rozwiązało problem. – Bostone
Moja przyjemność. Ten przez długi czas doprowadzał mnie do szału. – MattC
Tego rodzaju problemy sprawiają, że tworzenie aplikacji na Androida staje się frustrujące. (I TAK bezcenne :) – Nilzor