ciao a tutti...in android ho creato un file Manager.....

il cod. è questo:


codice:
import java.io.File;
import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomAdapter extends ArrayAdapter<File> {
	
	private ArrayList<File> items;
	private Context c = null;
	/**
	* Standard Data Adapter Construction
	*/
	public CustomAdapter(Context context, int textViewResourceId, ArrayList<File> items) {
		super(context, textViewResourceId, items);
		
		this.items = items;
		this.c = context;
	}
	/**
	* Code invoked when container notifies data set of change.
	*/
	@Override

	public View getView(int position, View convertView, ViewGroup parent) {
		View v = convertView;
		if (v == null) {
			LayoutInflater vi = (LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			v = vi.inflate(R.layout.list_row, null);
		}
		TextView filename = null;
		ImageView fileicon = null;
		File f = items.get(position);
		if (f != null) {
			filename = (TextView) v.findViewById(R.id.filename);
			fileicon = (ImageView) v.findViewById(R.id.fileicon);
		}
		if (filename != null) {
			if (position == 0) {
				filename.setText(f.getAbsolutePath());
			} else if (position == 1) {
				filename.setText(f.getAbsolutePath());
			} else {
				filename.setText(f.getName());
			}
		}
		if (fileicon != null) {
			if (position == 0) {
				fileicon.setImageResource(R.drawable.root);
			} else if (position == 1) {
				fileicon.setImageResource(R.drawable.up);
			} else if (f.isDirectory()) {
				fileicon.setImageResource(R.drawable.folder);
			} else {
				fileicon.setImageResource(R.drawable.file);
			}
		}
		return v;
	}
}
l'activity:
codice:
import java.io.File;
import java.util.ArrayList;
import android.app.ListActivity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.ListView;
import android.widget.Toast;

public class FileBrowser3 extends ListActivity {
	
	private File mCurrentNode = null;
	private File mLastNode = null;
	private File mRootNode = null;
	private ArrayList<File> mFiles = new ArrayList<File>();

	private CustomAdapter mAdapter = null;
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_file_browser3);
		
		mAdapter = new CustomAdapter(this, R.layout.list_row, mFiles);
		setListAdapter(mAdapter);
		if (savedInstanceState != null) {
			mRootNode = (File)savedInstanceState.getSerializable("root_node");
			mLastNode = (File)savedInstanceState.getSerializable("last_node");
			mCurrentNode = (File)savedInstanceState.getSerializable("current_node");
		}
		refreshFileList();
	}

	private void refreshFileList() {
		if (mRootNode == null) mRootNode = new File(Environment.getExternalStorageDirectory().toString());
		if (mCurrentNode == null) mCurrentNode = mRootNode;
		mLastNode = mCurrentNode;
		File[] files = mCurrentNode.listFiles();
		mFiles.clear();
		mFiles.add(mRootNode);
		mFiles.add(mLastNode);
		if (files!=null) {
			for (int i = 0; i< files.length; i++) mFiles.add(files[i]);
		}
		mAdapter.notifyDataSetChanged();
	}
	@Override
	protected void onSaveInstanceState(Bundle outState) {
		outState.putSerializable("root_node", mRootNode);
		outState.putSerializable("current_node", mCurrentNode);
		outState.putSerializable("last_node", mLastNode);
		super.onSaveInstanceState(outState);
	}
	/**
	* Listview on click handler.
	*/
	@Override
	public void onListItemClick(ListView parent, View v, int position, long id){
		File f = (File) parent.getItemAtPosition(position);
		if (position == 1) {
			if (mCurrentNode.compareTo(mRootNode)!=0) {
				mCurrentNode = f.getParentFile();
				refreshFileList();
			}
		} else if (f.isDirectory()) {
			mCurrentNode = f;
			refreshFileList();
		} else {
			Toast.makeText(this, "You selected: "+f.getName()+"!", Toast.LENGTH_SHORT).show();
		}
	}
}
con questo cod. creo un File Manager dove all'evento click del file ricevo un messaggio con la path del file clikkato:

ora lo stesso File Manager lo vorrei inserire in un alertDialog...come si fa????

Aiuto!!!