gpt4 book ai didi

.indexOf() 处的 Android 空指针异常

转载 作者:行者123 更新时间:2023-11-29 18:12:43 24 4
gpt4 key购买 nike

我在市场上有一个应用程序,但在某些情况下它会在打开时强制关闭。根据崩溃错误,indexOf 命令有问题(NullPointerException)。部分代码:

contactName = null;
Context context = getApplicationContext();
Cursor cursor = context.getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
myArr.add("");

while (cursor.moveToNext())
{
contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
spaceIndex = contactName.indexOf(' '); //this is the bad row
spaceLastIndex = contactName.lastIndexOf(' ');
myArr.add(contactName);
}

我在 3 部不同的手机上测试了我的应用,应用运行良好。因此,如果我更改某些内容,我将无法测试代码,因为我无法分辨其中的区别。什么会导致错误,为什么它只出现在少数手机上? (占下载量的 5%)。一个人就此错误与我联系,他的手机中有几个带有特殊字符的联系人(HTC Legend CM 7.1 和 Vodafone 845 Android 2.1)。所以我在我的联系人中添加了相同的字符,在姓名前放置了空格,尝试了所有与联系人姓名混淆的方法,应用程序运行顺利,所以这不是问题。我别无选择。

最佳答案

您应该检查联系人姓名,如果它不为空。我认为您试图从中获取值的列只是空的。

if (contactName != null) { ... 等等

关于.indexOf() 处的 Android 空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9829237/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com