2010-10-01 48 views
0

当我在Android 1.6中使用以下代码时,它会同时显示两个电话号码和 联系人,但是当我使用Android 2.2时,它不显示电话号码,它只显示名称 。Android模拟器不显示电话号码

String columns[] = new String[] { People.NAME, People.NUMBER, People._ID }; 
int tocols[] = new int[] {android.R.id.text1, android.R.id.text2}; 
Cursor c = managedQuery(People.CONTENT_URI, columns, null, null, null); 
SimpleCursorAdapter sca = new SimpleCursorAdapter(this,  
android.R.layout.simple_list_item_2, c, columns, tocols); 
setListAdapter(sca); 

回答

0

Contacts.People是从旧的联系人API(直到1.6),现在已被弃用。如果你想确保你的数据在android 2.0+中返回正确的值,你应该切换到开发者网站上详细描述的ContactsContract api。

http://developer.android.com/resources/articles/contacts.html

您也可以封装你的代码两个版本的工作,也有如何做到这一点在Android开发者的网站,以及一些样品。

编辑: 我发现我之前提到的其中一篇博客文章,它关于触摸监听器,但是基于API级别分割代码的原理仍然完好,应该适用于跨不同版本的android实现联系人提供程序代码。

既然不能真正张贴在一个后两个环节(REP太低)看2010年7月下的在Android开发者博客为“如何让你的蛋糕,吃它太”