2009-11-05 19 views
5

ExpandableListView içine bir onay kutusu koymayı deniyorum. Bunu nasıl yaparım? Ben BaseExpandableListAdapter genişletmek ve getGroupView() dizin aşağıdaki gibi: düzenini şişirilmişAndroid - CheckBox blokları 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; 
} 

Bildirimi? TextView ve CheckBox'ı yerleştirdiğim yer burası. Grup satır düzenime bir onay kutusu yerleştirmenin satırda tıklatıldığında ikincil (alt) liste oluşturulduğunda varsayılan grup satırı işlevini devre dışı bıraktığını fark ettim. CheckBox beklendiği gibi çalışıyor ancak ben bunun dışına tıkladığımda tıklatması ether CheckBox veya OnGroupClickListener tarafından hiçbir zaman algılanmıyor. CheckBox'ın bu şekilde grup satırına yerleştirilmesinin olay algılama/işleme ile çakıştığından şüpheleniyorum ama şu ana kadar izleyemiyorum

Birisi bu sorunu çözmeme yardım edebilir mi? CheckBox olsa liste öğelerinin artık böyle tıklama veya bir şey yanıt bir listede odaklanabilir bir öğe yerleştirmek kutuyu doğrudan

cevap

10

Herzaman tıklayarak tespit tıklama dahil çalışıyor. Odaklanabilir (liste, onay kutuları vb.) Liste öğesinde yer alan her öğe için, android: focusable özniteliğini false olarak ayarlamanız gerekir.

Benzer bir sorum vardı ve bu benim için bir cevaptı. Android custom ListView unable to click on items

+0

Matt! Çok teşekkür ederim, bu gerçekten – Bostone

+0

Benim zevkimi çözdü. Bu uzun bir süre beni deli ediyordu. – MattC

+0

Bu tür bir tuhaflık Android geliştirmeyi sinir bozucu hale getiriyor. (Ve çok değerli :) – Nilzor