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; } } 
  • Stackcray attach, please. - qwerty123
  • FATAL EXCEPTION: main Process: com.example.hp.myapplication, PID: 10013 java.lang.RuntimeException: Unable to start activity ComponentInfo {com.example.hp.myapplication / com.example.hp.myapplication.MainActivity}: java. lang.ClassCastException: android.widget.GridLayout cannot be cast to android.widget.GridView - guess

1 answer 1

You have written in error:

android.widget.GridLayout cannot be cast to android.widget.GridView

Apparently your R.id.gridView not a GridView , but a GridLayout .

  • Yes, really stupid mistake. I fixed it, but the application still gives an error. - guess
  • What error now gives the application? - Mstislav Pavlov
  • FATAL EXCEPTION: main Process: com.example.hp.myapplication, PID: 27808 java.lang.RuntimeException: Unable to start activity ComponentInfo {com.example.hp.myapplication / com.example.hp.myapplication.MainActivity}: java. lang.NullPointerException - guess
  • Caused by: java.lang.NullPointerException at com.example.hp.myapplication.MainActivity $ GridAdapter.getCount (MainActivity.java:41) at android.widget.GridView.setAdapter (GridView.java:187) at com.example.hp .myapplication.MainActivity.onCreate (MainActivity.java:32) - guess
  • @guess look for SO on a NullPointerException. The answer to this question is already on the resource. - Mstislav Pavlov