我收到手机联系人并给出了问题但是当我使用异步任务时,应用程序停止工作。
这是我的错误:
java.lang.IllegalArgumentException:不能有viewTypeCount< 1
我在onCreate方法中调用异步任务,如下所示:
new displayContacts().execute();
我做错了什么?
答案 0 :(得分:0)
我猜getViewTypeCount返回此适配器可以返回的不同类型视图的数量。视图类型应该只返回1.
public int getItemViewType(int position) {
return 0;
}
public int getViewTypeCount() {
return 1;
}
答案 1 :(得分:-1)
您遇到的问题与您的Adapter
而非AsyncTask
..
如果覆盖适配器中的getViewTypeCount()
,则应确保返回的数量超过1.此方法用于了解列表应包含的视图类型数...在您的情况下我猜它会是一种类型,而不是你使用的getCount()
最终可以返回0
public int getViewTypeCount() {
// if you have more than 1 view type than make sure it's > 1
return 1;
}
您还查询包含电话号码的ContactsContract.CommonDataKinds.Phone
..因此,如果用户在该表中有3个条目,您将列出的名称将包含相同名称的3倍...您应该查询{{1} }
请参阅此Documentation以更好地了解联系提供商。
根据官方文档,您可以在此处找到how to retrieve contacts list。