
我以前使用内容解析器获取联系人列表及其详细信息,但仍然有效我想尝试在后台查询内容提供程序的Loader方法.我在这里查看了文档和示例代码:
http://developer.android.com/training/contacts-provider/retrieve-details.html
虽然我能够毫无问题地显示联系人列表,但我仍然坚持在点击它并在详细信息屏幕上显示特定联系人时检索电话号码.上面的演示在详细屏幕上显示了用户的地址,我甚至尝试修改它.我已将内容URI从Contacts更改为ContactsContract.CommonDataKinds.Phone,但我一直在改进
java.lang.IllegalArgumentException: InvalID column data1互联网上没有一个详细的教程显示它是如何完成的.这里有人能够善待一些光明吗?阅读各种其他Stackoverflow问题我很确定它与2个不同的CONTENT URI有关,但我又错了.任何帮助或指示将非常感激.谢谢
我已经看过很少的SO问题:
Get phone number from contact loader in android: projection crash
Logcat says “invalid column data1”
How to get contacts’ phone number in Android
Obtaining phone number from lookup URI
他们都没有解决我的问题.以下是失败的相关代码:
final static String[] PROJECTION = { Contacts._ID, Utils.hasHoneycomb() ? ContactsContract.CommonDataKinds.Phone.disPLAY_name_PRIMARY : ContactsContract.CommonDataKinds.Phone.disPLAY_name //ContactsContract.CommonDataKinds.Phone.NUMBER, };代码工作得很好,但是当我删除注释以获取电话号码时它就失败了
解决方法:
这是我在(工作)代码中实际执行的 *** 作的摘录.
这些是我的相关进口:
import androID.provIDer.ContactsContract;import androID.provIDer.ContactsContract.CommonDataKinds.Email;import androID.provIDer.ContactsContract.CommonDataKinds.Phone;import androID.provIDer.ContactsContract.Contacts;鉴于ID是一个字符串(表示一个数字,如“1”,“20”,…)
// query for phone numbers for the selected contact IDfinal Cursor cur = getContentResolver().query ( Phone.CONTENT_URI, null, Phone.CONTACT_ID + "=?", new String[] {ID}, null );final int phoneIDx = cur.getColumnIndex(Phone.NUMBER);final int phoneType = cur.getColumnIndex(Phone.TYPE);// ... if(cur.movetoFirst()) { final String name = cur.getString ( cur.getColumnIndexOrThrow ( ContactsContract.Contacts.disPLAY_name ) ); }希望它能让你走上正确的道路
总结以上是内存溢出为你收集整理的使用Loader无效列数据1的Android联系人电话号码全部内容,希望文章能够帮你解决使用Loader无效列数据1的Android联系人电话号码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)