Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid file dialog woes
    primarykey
    data
    text
    <p>Alright, so I'm trying to make a file choice dialog, and I got it so I can choose the file, but I want it so when I choose a directory it moves and lists all the files in the new directory. Right now it just goes to a black screen when I hit a directory. How do I make it list the directory's files when I hit a directory? This is the code I got so far:</p> <pre><code>private void loadFileList(){ try{ dir.mkdirs(); } catch(SecurityException e){ Log.e("Error: ", "unable to write on the sd card " + e.toString()); } if(dir.exists()){ mFileList = dir.list(); } else{ mFileList= new String[0]; } } protected Dialog onCreateDialog(int id){ Dialog dialog = null; AlertDialog.Builder builder = new Builder(this); switch(id){ case DIALOG_LOAD_ROM: builder.setTitle("Choose your rom"); if(mFileList == null){ dialog = builder.create(); return dialog; } builder.setItems(dir.list(), new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int which){ mChosenFile = dir.list()[which]; rom = new File(dir, mChosenFile); if(rom.isDirectory()){ Log.e("log:",dir.getAbsolutePath()); dir = new File(dir, mChosenFile); Log.e("log:",dir.getAbsolutePath()); loadFileList(); showDialog(DIALOG_LOAD_ROM); } else{ loadFileList(); showDialog(DIALOG_LOAD_PATCH); } } }); break; case DIALOG_LOAD_PATCH: builder.setTitle("Choose your patch"); if(mFileList == null){ dialog = builder.create(); return dialog; } builder.setItems(dir.list(), new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int which){ mChosenFile = dir.list()[which]; File sdcard = Environment.getExternalStorageDirectory(); patch = new File(sdcard, mChosenFile); AlertDialog.Builder alert = new AlertDialog.Builder(masterApp); alert.setTitle("New Rom Name"); alert.setMessage("Please input a name"); // Set an EditText view to get user input final EditText input = new EditText(masterApp); alert.setView(input); alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { String value = input.getText().toString(); File sdcard = Environment.getExternalStorageDirectory(); File newRom = new File(sdcard,value); patchROM(rom, patch, newRom); AlertDialog.Builder alert2 = new AlertDialog.Builder(masterApp); alert2.setTitle("Finished"); alert2.setMessage("Rom has been patched"); alert2.setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { System.exit(0); } }); alert2.show(); } }); alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { File sdcard = Environment.getExternalStorageDirectory(); File newRom = new File(sdcard,"newrom.gb"); patchROM(rom, patch, newRom); AlertDialog.Builder alert2 = new AlertDialog.Builder(masterApp); alert2.setTitle("Finished"); alert2.setMessage("Rom has been patched"); alert2.setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { System.exit(0); } }); alert2.show(); } }); alert.show(); } }); break; } dialog = builder.show(); return dialog; } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload