filesystems - Java and android file browser issue -
im starting work honeycomb, , im trying make simple fragmented layout list of file on left side, , details of file on right (when file selected). well, going until tried list files, , "/" slash, , thats it. nothing else. set log track number of files in directory im in, , sees 26, wont list them. heres code
package com.bv.dual_fragments; import java.io.file; import java.util.arraylist; import java.util.list; import android.app.alertdialog; import android.app.fragment; import android.app.listfragment; import android.content.dialoginterface; import android.content.dialoginterface.onclicklistener; import android.content.intent; import android.net.uri; import android.os.bundle; import android.util.log; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.arrayadapter; import android.widget.textview; public class fragment_one extends listfragment{ private file currentdirectory = new file("/"); private list<string> directoryenteries = new arraylist<string>(); public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { super.oncreate(savedinstancestate); return inflater.inflate(r.layout.fragment_one,container, false); } @override public void onactivitycreated(bundle savedinstancestate) { //inflate layout fragment super.oncreate(savedinstancestate); //browse root directory browseto(new file("/")); } private void uponelevel() { if (this.currentdirectory.getparent() !=null) { this.browseto(this.currentdirectory.getparentfile()); } } private void browseto(final file adirectory) { //if want browse directory if (adirectory.isdirectory()){ this.currentdirectory = adirectory; integer filelength = adirectory.listfiles().length; log.i("file",filelength.tostring() ); file[] files = new file[filelength]; (file file : files) { log.i("file", file.getabsolutepath()); } fill(adirectory.listfiles()); //set titlemanger text textview titlemanager = (textview)getview().findviewbyid(r.id.titlemanager); titlemanager.settext(adirectory.getabsolutepath()); } else { //if want o open file, show dialog: //listener when yes button clicked onclicklistener okbuttonlistener = new onclicklistener() { public void onclick(dialoginterface arg0, int arg1) { //intent navigate file intent = new intent(android.content.intent.action_view, uri.parse("file://" + adirectory.getabsolutepath())); startactivity(i); } }; onclicklistener cancelbuttonlistener = new onclicklistener() { public void onclick(dialoginterface arg0, int arg1) { } }; //create dialog new alertdialog.builder(getactivity()) .settitle("dialog title") .setmessage("file name " + adirectory.getname() + "?") .setpositivebutton("ok", okbuttonlistener) .setnegativebutton("no", cancelbuttonlistener) .show(); } } private void fill(file[] files) { //clear list this.directoryenteries.clear(); if (this.currentdirectory.getparent() != null) this.directoryenteries.add(".."); //add every file in list (file file : files) { this.directoryenteries.add(file.getabsolutepath()); } //create array adapter show arrayadapter<string> directorylist = new arrayadapter<string>(getactivity(), r.layout.row, directoryenteries); this.setlistadapter(directorylist); } }
so, runs, got fragments layout,but wont list files. appreciated. oh, when try put in loop add each name of files log, gives nullpoint exception
edit: think have chased down resource file row using, r.layout.row, dont see whats wrong. heres layout file
<?xml version="1.0" encoding="utf-8"?> <textview xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="40sp" android:padding="5dip" android:background="@color/white" android:gravity="center_vertical"/>
add follow after call //browse root directory browseto(new file("/"));
listview lv = getlistview(); lv.setchoicemode(listview.choice_mode_single); lv.setcachecolorhint(color.transparent);
Comments
Post a Comment