Android ArrayAdapter NullPointer - PullRequest
       8

Android ArrayAdapter NullPointer

2 голосов
/ 21 апреля 2011

Я пытаюсь создать приложение, которое будет использовать AutoCompleteTextView и читать из ваших контактов, в зависимости от того, что вы печатаете, поэтому оно не должно иметь дело с огромным массивом.К сожалению, ArrayAdapter, кажется, не нравится мне.Вот мой код для этого:

    private void updateAdapter(String[] nC)
{

    autoAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, nC);

    autoText.setAdapter(autoAdapter);
}

Это бросает это:

WARN/Filter(16767): An exception occured during performFiltering()!
java.lang.NullPointerException
04-21 11:23:48.819: WARN/Filter(16190):     
at android.widget.ArrayAdapter$ArrayFilter.performFiltering(ArrayAdapter.java:437)
04-21 11:23:48.819: WARN/Filter(16190):     
at android.widget.Filter$RequestHandler.handleMessage(Filter.java:234)
04-21 11:23:48.819: WARN/Filter(16190):     
at android.os.Handler.dispatchMessage(Handler.java:99)
04-21 11:23:48.819: WARN/Filter(16190):     
at android.os.Looper.loop(Looper.java:144)
04-21 11:23:48.819: WARN/Filter(16190):     
at android.os.HandlerThread.run(HandlerThread.java:60)

Я действительно не знаю, что здесь происходит.Переменная nC содержит имена контактов, которые нужно вставить в автозаполнение, так что это не проблема ..

Ответы [ 3 ]

5 голосов
/ 13 октября 2011

Я нашел эту проблему.Это вызвано тем, что один из моих элементов в arrayadapter имеет атрибут со значением 'null'.

В вашем случае, один из элементов 'nC' должен быть 'null'.Попробуйте показать в консоли список всех элементов, таких как: System.out.println(index + ": " + nC[index]); и посмотрите, если один из них имеет значение null.

Удачи!

1 голос
/ 01 мая 2011

Если длина nC равна 10, например, и у вас есть только 9 элементов, вы получите это исключение.

1 голос
/ 21 апреля 2011

На основании информации, полученной в комментариях выше: проверьте данные, возвращаемые в nC.Скорее всего, у вас есть контакт без имени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...