私は市場にアプリを持っていますが、オープンで強制終了する場合もあります。クラッシュエラーによると、indexOfコマンド(NullPointerException)に問題があります。コードの一部:.indexOf()でのAndroidのヌルポイントの受信
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)に特殊文字との接触が2つあります。だから私は私の連絡先に同じ文字を追加し、名前の前に空白を入れて、連絡先の名前をつぶすためにすべてを試して、アプリが円滑に実行されるので、これは問題ではありません。私はオプションから外れています。
if(contactName!= "")も良いですか? – erdomester
私はこれを最初の回答として受け入れる – erdomester
if(contactName!= "")no!これは動作しません! nullと空の文字列は2つの異なるものです – Kousalik