Эта часть моего кода проверяет, чтобы увидеть, что, когда пользователь нажимает на контакт, у контакта действительно есть номер телефона, в противном случае отображается сообщение, и больше ничего не делается.
Я не понимаю, откуда исходит исключение для моего нулевого указателя ....
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst())
{
String stringName = c.getString(c.getColumnIndexOrThrow(People.NAME));
if(c.getColumnIndex(People.NUMBER)!= -1 )
{
stringNumber = c.getString(c.getColumnIndexOrThrow(People.NUMBER));
}
if((!stringNumber.equals(null)) && (stringNumber.length() >= 12))
{
name.setText(stringName);
number.setText(stringNumber);
}
else
{
Context context = getApplicationContext();
CharSequence text = "That contact has an invalid phone number.";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
}
моя ошибка - «ошибка доставки результата RESULTINFO», и он также говорит, что это ошибка исключения нулевого указателя в этой строке:
if((!stringNumber.equals(null)) && (stringNumber.length() >= 12))
ранее в коде я объявляю stringNumber для инициализации в null. Я думал, что поскольку первая часть if переходит в false, она даже не проверяет вторую часть (отсюда, я думаю, и возникает ошибка).