我正在尝试将我的联系人放在列表视图中。现在我知道 usingsimple_list_item_multiple_choice
可以让我选择多个联系人,但它只查看没有数字的姓名。
另一方面,simple_list_item_2
可用于显示姓名和号码,但支持仅选择一个联系人。
有没有将它们结合起来的模板?如果没有,我如何构建具有这两个功能的自定义列表?
编辑:这是我正在使用的代码
CursorLoader cl = new CursorLoader(this,ContactsContract.CommonDataKinds.Phone.CONTENT_URI, PROJECTION, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME+" ASC");
Cursor c = cl.loadInBackground();
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_multiple_choice, // Use a template
// that displays a
// text view
c, // Give the cursor to the list adapter
new String[] { ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME},
new int[] { android.R.id.text1},0);
setListAdapter(adapter);
这里 SimpleCursorAdapter 的第二个参数是,simple_list_item_multiple_choice
但它只支持处理android.R.id.text1
. 所以我只能使用项目,不能使用子项目。
但是在下面的代码中
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_expandable_list_item_2, // Use a template
// that displays a
// text view
c, // Give the cursor to the list adapter
new String[] { ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ,ContactsContract.CommonDataKinds.Phone.NUMBER},
new int[] { android.R.id.text1,android.R.id.text2},0);
我可以同时给它ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME
andNUMBER
写成android.R.id.text1
and android.R.id.text2
,但不能使用多项选择功能。