It gives an error, I've already tried everything. Permission turned on.
public class MainActivity extends AppCompatActivity { GridView gv; public ArrayList<File> files; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gv = (GridView)findViewById(R.id.gridView); gv.setAdapter( new GridAdapter()); String internalStorage = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath(); files = getListFiles(new File(internalStorage)); } class GridAdapter extends BaseAdapter{ @Override public int getCount() { return files.size(); } @Override public Object getItem(int position) { return files.get(position); } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { convertView = getLayoutInflater().inflate(R.layout.single_grid,parent,false); ImageView iv = (ImageView)convertView.findViewById(R.id.imageView); iv.setImageURI(Uri.parse(getItem(position).toString())); return convertView; } } private ArrayList<File> getListFiles(File parentDir) { ArrayList<File> inFiles = new ArrayList<File>(); File[] files = parentDir.listFiles(); for (File file : files) { if (file.isDirectory()) { inFiles.addAll(getListFiles(file)); } else { if (file.getName().endsWith(".mp4")) { inFiles.add(file); } } } return inFiles; } }