Я работаю над своим окончательным проектом в курсе программирования андроида (так что я все еще довольно новый). Я строю свой собственный медиаплеер. Я реализовал ящик, который содержит различные типы носителей (видео, аудио, поток и т. Д.), И я хочу, чтобы каждый щелкнутый элемент загружал фрагмент, который будет решать задачу. Первый, над которым я работаю, - это фрагмент аудио. Это список в списке, но я думаю, что это будет проще, чем видео. Так или иначе. когда я нажимаю на «audio» (picture link), я получаю исключение с нулевым указателем. Я пытался понять это на пару дней, но теперь я действительно трачу драгоценное время. Что я делаю не так?Исключительное исключение указателя при загрузке фрагмента
Потому что есть довольно много кода. Я буду использовать фрагменты (если люди предпочитают, я на самом деле вставляю весь код здесь, дайте мне знать, и я его изменю).
MainActivity: http://pastebin.com/zsXuZHkN
FragmentAudio: http://pastebin.com/77XsBbu9
ListAdapterAudio: http://pastebin.com/cfu7azP0
logact войти:
09-13 18:31:33.056 11959-11959/com.example.ref_apps.winnerplayer E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.ref_apps.winnerplayer, PID: 11959
java.lang.NullPointerException
at android.support.v4.app.BackStackRecord.doAddOp(BackStackRecord.java:414)
at android.support.v4.app.BackStackRecord.replace(BackStackRecord.java:449)
at android.support.v4.app.BackStackRecord.replace(BackStackRecord.java:441)
at com.example.ref_apps.winnerplayer.MainActivity.selectDrawerItem(MainActivity.java:118)
at com.example.ref_apps.winnerplayer.MainActivity$1.onItemClick(MainActivity.java:64)
at android.widget.AdapterView.performItemClick(AdapterView.java:299)
at android.widget.AbsListView.performItemClick(AbsListView.java:1153)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3065)
at android.widget.AbsListView$3.run(AbsListView.java:4031)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5292)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641)
at dalvik.system.NativeStart.main(Native Method)
есть и другие файлы, очевидно, но я не думаю, что они являются виновниками. Я добавлю файл по запросу.
Спасибо!
Есть ли исключения в строке 111 в «MainActivity»? Вы создаете свой фрагмент каким-то странным образом, не проще ли использовать конструктор фрагментов в этом коммутаторе? Я думаю, что этот «fragClass.newInstance()» терпит неудачу, и поэтому «фрагмент» является нулевым, а NPE бросается при попытке загрузить его. – spoko
Честно говоря, я украл эту идею из учебника. Казалось, это имеет смысл, но, возможно, это моя неопытность. Не могли бы вы немного рассказать о своем предложении? Спасибо –