@Override
 public void onItemClick(
     final AdapterView<?> view, final View child, final int position, final long id) {
   final File file = mAdapter.getItem(position);
   if (file == null) return;
   if (file.isDirectory()) {
     final Bundle args = getArguments();
     args.putString(EXTRA_PATH, file.getAbsolutePath());
     getLoaderManager().restartLoader(0, args, this);
   } else if (file.isFile() && !isPickDirectory()) {
     final FragmentActivity a = getActivity();
     if (a instanceof Callback) {
       ((Callback) a).onFilePicked(file);
     }
     dismiss();
   }
 }