2009-05-21 22 views
7

Bir ListActivityCursor numaralı telefondan, liste öğelerinden biri tıklatıldığında başka bir etkinliği başlatan SimpleCursorAdapter kullanıyorum. Ayrıca, verilerin bazı özel dönüşümlerini yapmak için ViewBinder kullanıyorum.Onay kutularıyla tıklatılan özel liste

Listedeki her satıra bir CheckBox eklemek istiyorum, böylece görünümü değiştirdim ve CheckBox yerçekimi sağı ekledim. CheckBox ekleme

öğeleri tıklayın yeteneğini ortadan kaldırmıştır. Eğer bir liste öğesinin üzerine bastığımda ben ListActivity yılında baskın oldu onListItemClick yöntemi artık denir. CheckBox kaldırılıyor bunu giderir. Bu neden?

Ayrıca, liste öğesinin ana kısmı tıklatıldığında ancak öğede CheckBox işaretli olduğunda ek işlevsellik varsa, gerekli işlevselliği gerçekleştirmeye devam etmesi için listeyi nasıl ayarlayabilirim? Bir onCheckedChangedListener iş ayarını mı yapacak yoksa listedeki her öğe için aynı görünüm örneğini mi kullanacak? SimpleCursorAdapter elde etmek istediğini çok ilkel gibi

cevap

4

görünüyor. Ben newView yöntemin benim uygulanmasında LayoutInflater kullanarak yeni bir görünüm CursorAdapter uygulanması ve dönen geçtik.

public View newView(Context context, Cursor cursor, ViewGroup parent) { 
    return LayoutInflater.from(context).inflate(R.layout.alarm_row, parent, false); 
    } 

BindView ben sonra CheckBox sonra benim ana LinearLayout ve başka OnCheckedChangeListener için özel bir OnClickListener ayarlayın. Bütün bu hak bakmak için

Ben en çekilebilir menuitem android LinearLayout 'in arka plan ayarlamak zorunda: başka görünüm focusable ise

android:background="@android:drawable/menuitem_background" 
+0

Merhaba size bundan fazla kod gönderebilir: focusable="false" için CheckBox hile yapmak gerekir senin ayarlama? – Maxrunner

14

olarak here açıkladı tıklama dinleyici çalışır.

<CheckBox android:focusable="false" /> 
İlgili konular