1

コードの何が問題なのか理解できません。myAddressUniquenessでエラーが発生します。理由はわかりません。文字列データ型で試してみる前に、同じエラーが発生しました。java.null例外を言っています。

ArrayList<String>  myAddressUniqueness = null;
    String name = "hello";

    if (indexBody < 0 || !cursor.moveToFirst())
        return;

    smsList.clear();

    do {
        // int cursorPostion = cursor.getPosition();

        String address;
        String msgStr = cursor.getString(indexBody);
        String senderNumber = cursor.getString(indexAddr);
        Log.d("Name : ", senderNumber);
        // String name = cursor.getString(cursor
        // .getColumnIndex(PhoneLookup.DISPLAY_NAME));
        // Log.d("Name : ",name);

        if (name != null) {
            address = name;
        } else {
            address = senderNumber;
        }
        Log.d("Address: ", address);
        flag = 1;
        //Log.e("Number: ", addressUniqueness.length + "");

        for (j = 0; j < myAddressUniqueness.size(); j++) {
            if (myAddressUniqueness.contains(address)) {
                flag = 0;
                break;
            }

        }

        if (flag == 1) {
            myAddressUniqueness.add(new String(address));
            i++;

            String str = "Sender: " + address + "\n";
            smsList.add(str);

        }

        // TODO Auto-generated catch block

    } while (cursor.moveToNext());
4

2 に答える 2

2

宣言を次のように変更します

ArrayList<String> myAddressUniqueness = new ArrayList<String>();

に初期化していますnull。これによりインスタンス化され、データを追加できます。

于 2013-01-08T18:53:27.113 に答える
0

myAddressUniqueness使用するmyAddressUniqueness = new ArrayList<String>()前にインスタンス化する必要があります。

于 2013-01-08T18:51:20.867 に答える