【发布时间】:2012-02-27 15:22:48
【问题描述】:
ContactsContract.Contacts 默认为空吗?如果是这样,我该如何添加一些测试数据?
否则,我一定是做错了什么/遗漏了什么,因为这个 Activity 显示完全是空的。
public class Authorize_Activity extends ListActivity {
Cursor mContacts;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Return all contacts, ordered by name
String[] projection = new String[] { ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME }; // Would like the phone num, too
mContacts = managedQuery(ContactsContract.Contacts.CONTENT_URI,
projection, null, null, ContactsContract.Contacts.DISPLAY_NAME);
// Display all contacts in a ListView
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_1, mContacts,
new String[] { ContactsContract.Contacts.DISPLAY_NAME },
new int[] { android.R.id.text1 });
setListAdapter(mAdapter);
}
我的理解是android的simple_list_item_1应该提供“视图”,这样我就不需要调用SetContentView()了。
但是虽然我的 Activity 正在显示,但其中没有显示任何数据。那么......我只是缺少联系人数据,还是正在发生更邪恶的事情?
【问题讨论】:
-
不确定 - 这是在模拟器上吗?如果是这样,那么如果默认情况下它是空的,我不会感到惊讶。尝试使用模拟器的联系人/人员应用添加一些虚假联系人。
-
就是这样;这就是您假设得到的结果:我假设他们(Google 员工/Androidheads)会向模拟器提供一些随机/虚假联系人,例如 Sergey Brin、Larry Page、Jimmy Page 等。一旦我添加了一些(不是那些),它似乎工作正常。
-
我已添加我的评论作为答案。看来它将来可能对其他人有用。
标签: android android-layout android-listview android-contacts