Olá eu estava fazendo uma galeria, criei o Adaptador, funcionava normalmente, então prosseguir para a etapa de listar arquivos em um diretório e em seguida colocar na lista:
ArrayList<GalleryItem>items = new ArrayList<>(); File path = new File(getPath() + "//VideoPlayerPlus//"); File files[] = path.listFiles(); GalleryItem item[] = new GalleryItem[files.length]; for(int i = 0; i < files.length; i++){ item[i].setVideoTitle(files[i].getName()); items.add(i, item[i]); } lvItems.setAdapter(new GalleryAdapter(this, items));
Estou conseguindo listar os arquivos normalmente, o problema é o array de objetos, quando inicio a aplicação, o seguinte erro aparece na atividade da galeria:
01-18 11:14:41.461 25583-25583/com.samuelives.videoplayer E/AndroidRuntime: FATAL EXCEPTION: main Process: com.samuelives.videoplayer, PID: 25583 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.samuelives.videoplayer/com.samuelives.videoplayer.Gallery}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.samuelives.videoplayer.gallery.GalleryItem.setVideoTitle(java.lang.String)' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3190) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300) at android.app.ActivityThread.access$ 1000(ActivityThread.java:211) at android.app.ActivityThread$ H.handleMessage(ActivityThread.java:1705) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:6946) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$ MethodAndArgsCaller.run(ZygoteInit.java:1404) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.samuelives.videoplayer.gallery.GalleryItem.setVideoTitle(java.lang.String)' on a null object reference at com.samuelives.videoplayer.Gallery.onCreate(Gallery.java:62) at android.app.Activity.performCreate(Activity.java:6575) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3143) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3300) at android.app.ActivityThread.access$ 1000(ActivityThread.java:211) at android.app.ActivityThread$ H.handleMessage(ActivityThread.java:1705) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:6946)
Ele indica um objeto nulo quando já foi criado, então como criar um array de objetos para adicionar a um array list?