使用异步任务

时间:2018-03-22 09:11:50

标签: android android-asynctask contacts

我收到手机联系人并给出了问题但是当我使用异步任务时,应用程序停止工作。

这是我的错误:

  

java.lang.IllegalArgumentException:不能有viewTypeCount< 1

我在onCreate方法中调用异步任务,如下所示:

new displayContacts().execute();

我做错了什么?

2 个答案:

答案 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