-1

Program for display method

void display() {
    String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
    ContentResolver contentResolver = getActivity().getContentResolver();
    Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
    Cursor cursor = contentResolver.query(uri, null, selection, null, null);

    if (cursor != null && cursor.moveToFirst()) {
        int songTitle = cursor.getColumnIndex(MediaStore.Audio.Media.TITLE);
        int songArtist = cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST);
        do {
            int i = 0;
            String title = cursor.getString(songTitle);
            String artist = cursor.getString(songArtist);
            songsList.add(title + "\n" + artist);
            i++;
        } while (cursor.moveToNext());
    }
    cursor.close();
    songsList = new ArrayList<>();
    songsAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, songsList);
    l1.setAdapter(songsAdapter);

    l1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

        }
    });
}

Error for display method

2019-03-05 23:16:59.323 504-504/? E/ANDR-IOP: IOP HAL: Received pkg_name = com.noob.audioplayer pid = 0 2019-03-05 23:16:59.723 18049-18049/com.noob.audioplayer E/AndroidRuntime: FATAL EXCEPTION: main Process: com.noob.audioplayer, PID: 18049 java.lang.NullPointerException: Attempt to invoke virtual method 'void java.util.ArrayList.add(int, java.lang.Object)' on a null object reference at com.noob.audioplayer.SongsFragment.display(SongsFragment.java:137) 
Phantômaxx
  • 36,442
  • 21
  • 78
  • 108

1 Answers1

0

You are trying to add to songslist which is not created. Create songslist before add like this:

void display() {
    String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
    ContentResolver contentResolver = getActivity().getContentResolver();
    Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
    Cursor cursor = contentResolver.query(uri, null, selection, null, null);
    songsList = new ArrayList<>();
    if (cursor != null && cursor.moveToFirst()) {
        int songTitle = cursor.getColumnIndex(MediaStore.Audio.Media.TITLE);
        int songArtist = cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST);
        do {
            int i = 0;
            String title = cursor.getString(songTitle);
            String artist = cursor.getString(songArtist);
            songsList.add(title + "\n" + artist);
            i++;
        } while (cursor.moveToNext());
    }
    cursor.close();
    songsAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, songsList);
    l1.setAdapter(songsAdapter);
    l1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        }
    });
}
twenk11k
  • 487
  • 5
  • 14