如何在SimpleCursorAdapter中绑定联系人姓名,电话和联系人照片?

时间:2010-11-08 13:50:17

标签: android contacts adapter

我可以检索联系人姓名和电话,但如何在一个查询中检索联系人照片?

    String[] PROJECTION = new String[] { Contacts.People._ID, Contacts.PeopleColumns.NAME, Contacts.Phones.NUMBER };
    Cursor c = a.managedQuery(Contacts.People.CONTENT_URI, PROJECTION, null, null, Contacts.People.DEFAULT_SORT_ORDER);

    return (new SimpleCursorAdapter(a, 
            R.layout.list_row, 
            c, 
            new String[] { Contacts.PeopleColumns.NAME, Contacts.Phones.NUMBER  }, 
            new int[] { R.id.toptext, R.id.bottomtext }));

1 个答案:

答案 0 :(得分:1)

我在同一条船上(对于android-3到android-5来启动)!

我没有看到1.x或2.x中的照片列,所以我只是使用带有临时视图持有者的 CursorAdapter (私有类,分配到anon视图标记)以获得良好的衡量标准,然后根据需要在 bindView 中使用 loadContactPhoto

那里的诀窍似乎是避免过度/过度缩放(例如,为每张照片缓存 Bitmap.createScaledBitmap 的结果,至少?),以免视图再次减速你失去了首先拥有光标驱动列表的好处。

我知道,变得混乱。我确定必须有一个更好的方式!好吧,我希望有。 :)