У меня есть приложение NameDay в App Store, которое использовало Android SDK <26.Так как Google хочет, чтобы каждое приложение изменило свой TargetSDK по крайней мере на 26, чтобы продолжать обновляться, я хотел изменить свое приложение, чтобы удовлетворить потребности Google. </p>
Изменил соответствующие поля, касающиеся SDK,но теперь у меня происходит сбой при попытке запустить приложение в эмуляторе.
App MainActivity: Основная активность приложения ищет базу данных и получает все имена, которые отмечают сегодня ипоказывает им.Ниже этого текстового представления у меня есть просмотр списка, который сравнивает имена, которые отмечают сегодня, с вашими контактами, и показывает контакты, отмечающие их день имени, чтобы иметь возможность позвонить или отправить смс.
Я получаю ошибку:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.duk3r.eortologio2, PID: 9577
java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference
at com.duk3r.eortologio2.LazyAdapter.getCount(LazyAdapter.java:32)
at android.widget.AdapterView$AdapterDataSetObserver.onChanged(AdapterView.java:836)
at android.widget.AbsListView$AdapterDataSetObserver.onChanged(AbsListView.java:6414)
at android.database.DataSetObservable.notifyChanged(DataSetObservable.java:37)
at android.widget.BaseAdapter.notifyDataSetChanged(BaseAdapter.java:50)
at com.duk3r.eortologio2.LazyAdapter.setItems(LazyAdapter.java:45)
at com.duk3r.eortologio2.MainActivity$LoadItemsTask.onPostExecute(MainActivity.java:498)
at com.duk3r.eortologio2.MainActivity$LoadItemsTask.onPostExecute(MainActivity.java:480)
at android.os.AsyncTask.finish(AsyncTask.java:695)
at android.os.AsyncTask.-wrap1(Unknown Source:0)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:712)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Основные файлы, которые появляются в сообщениях об ошибках:
MainActivity.java
и LazyAdapter.java
Я читаю подобные посты здесь, в StackOverflow, и они говорят, что getCount () возвращает null и вылетает из приложения.Дело в том, что я не менял код и не касался адаптеров и / или основной деятельности, а приложение работало раньше.Изменил ли Google что-то в последних SDK?
Заранее спасибо.
Обновление: приложение отлично работает с targetSDK 27 в эмуляторе с API 23, просто попробовал еще раз.Когда я переключаюсь на эмулятор с SDK> 26, он вылетает при запуске, когда пытается проверить код просмотра списка.