2010-11-26 44 views
5

Bir Cursor ürününü ListView numaralı telefondan görüntülemeye çalışıyorum, her bir satırda bir ImageView ve bir TextView bulunur. Ben bindView içinde CursorAdapter uzanan bir CustomCursorAdapter var, imleç verileri değerlendirmek ve bu görüntü ve metni ayarlamak dayalı.CursorAdapter nasıl geçersiz kılınır bindView

Uygulamayı çalıştırdığımda ListView doğru miktarda satır görüntüler, ancak bunlar boştur. BindView'ı geçersiz kıldığımda bir şeyi özlediğimi biliyorum, ama ne olduğundan emin değilim.

Herhangi bir yardım büyük memnuniyetle karşılanacaktır.

+0

Bunu daha sonra deneyeceğim, ancak 1 yorum: Yapmanız gereken 'cursor.getColumnIndexOrThrow (DbAdapter.MONITORS_COLUMN_MONITOR_NAME);' yapıcınızdaki çağrılar. 'Log.e' istisna ne dersin? –

cevap

4

bindView() yöntemi iyi görünüyor. performans nedenleriyle

@Override 
public View newView(Context context, Cursor cursor, ViewGroup parent) { 
    return mInflater.inflate(R.layout.row, parent, false); 
} 

Ve:

sizin newview değiştirmeyi deneyin() yöntemi tüm cursor.getColumnIndexOrThrow() çağrıları ile yapıcı

  • aynı şeye

    • hareket getLayoutInflater(), ened zaten 0123’te comments
    • metni lbl oluşturmak için bir StringBuilder kullanmak
    • Integer.toString (warningThreshold) yapmaya gerek yoktur
    • ... sadece warningThreshold

    Daha sonra düzenleme kullanmak: inflate() yönteminiz ile önerdiğim arasındaki tek fark, bunun mat olan düzen paramları oluşturmasıdır. Ebeveyn.

  • +0

    Hata, aslında benim sql'mde çıktı, 'RESULTS_COLUMN_TOTAL_RESPONSE_TIME' sütunu imlecin içinde değildi. Performans sorunları hakkında geri bildiriminiz için teşekkür ederiz. Cevabınızı doğru olarak işaretleyecektir. – Holm

    İlgili konular