Kendi özel bağdaştırıcısını BaseAdapter'den genişletilmiş bir liste görünümü ve benzeri göstermek için yaptım ...Android: Sabit kimlikleri olan bir adaptör nasıl oluşturulur?
Tek ve çoklu seçimi desteklemesini istiyorum, bu nedenle kararlı kimliklere sahip olması gerekir. ADAPTER.hasStableIds()
ile kontrol ettik ve sonuç yanlış.
Hiç şanssız ahır kimliklerini almaya çalışmak için bu yöntemi geçersiz kıldım.
public long getItemId(int position) {
return (long) getItem(position).hashCode();
}
Nasıl yapılacağı hakkında bir fikriniz var mı? teşekkürler!
Vay, basit ve kolay bir çözüm. Teşekkürler! – giorgiline
hashCodes benzersiz değildir ve varsayılan uygulama id olarak konumunu kullanır. HashCode öğe tanımlayıcılarıyla nasıl ilgilidir? –
@Petr: Anladığım kadarıyla "Durağan Ids", benzersiz bir sayı kullanarak nesnelerinizi/satırlarınızı her zaman tanımlamanız anlamına gelir (yani, adaptörünüzün kullanım ömrü boyunca hiçbir zaman değiştirmeyin). Bu nedenle, aynı şekilde HashMap için hashCodes benzersiz/çakışmaya ihtiyacınız varsa, burada HashCode'u Adaptörünüzde yeniden kullanabilirsiniz. –