This is my own Filemanager so will have problems ., try this its very simple
keeping a listview for files
public class Bview extends Activity{
private ListView l;
private int i;
private static int stringcounter=0;
public static File path;
public static String current;
private static File f;
private static String str;
private static String string=Environment.getExternalStorageDirectory()+"";;
private static String[] stringpart;
ArrayList<String> appointment;
ArrayAdapter<String> aa;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view);
l=(ListView)findViewById(R.id.listView1);
appointment = new ArrayList<String>();
stringpart=new String[10];
aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,appointment);
l.setAdapter(aa);
List<File> files = getListFiles(new File(string));
l.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if(position==0)
{
stringcounter--;
string=string.replaceAll(stringpart[stringcounter],"");
aa.clear();
List<File> files = getListFiles(new File(string));
}
else
{
Object o = l.getItemAtPosition(position);
str=(String)o;
string=string+"/"+str;
System.out.println("str"+str);
System.out.println(".value.."+string);
f=new File(string);
if(f.isDirectory())
{
stringpart[stringcounter]="/"+str;
stringcounter++;
aa.clear();
List<File> files = getListFiles(new File(string));
}
else
{
Toast.makeText(getBaseContext(),str,Toast.LENGTH_SHORT).show();
}
}
}
});
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
System.exit(0);
}
private List<File> getListFiles(File parentDir) {
ArrayList<File> inFiles = new ArrayList<File>();
File[] files = parentDir.listFiles();
this.aa.add("Go Back");
for(i=0;i<files.length;i++)
{
String filename=files[i].getName();
this.aa.add(filename);
}
return inFiles;
}
}