ai galera. to criando um openfiledialog pro meu aplicativo com o seguinte codigo
[code]package com.example.mp3.editor;
import java.io.File;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
public class FileBrowser extends Activity implements AdapterView.OnItemClickListener
{
private GridView mGrid;
private File mCurrentDir;
private ArrayList mFiles;
private String[] mFilters;
private String[] mAudioExt;
private String[] mImageExt;
private String[] mArchiveExt;
private String[] mWebExt;
private String[] mTextExt;
private String[] mVideoExt;
private String[] mGeoPosExt;
private Uri path;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
mFiles = new ArrayList<File>();
mAudioExt = getResources().getStringArray(R.array.fileEndingAudio);
mImageExt = getResources().getStringArray(R.array.fileEndingImage);
mArchiveExt = getResources().getStringArray(R.array.fileEndingPackage);
mWebExt = getResources().getStringArray(R.array.fileEndingWebText);
mTextExt = getResources().getStringArray(R.array.fileEndingText);
mVideoExt = getResources().getStringArray(R.array.fileEndingVideo);
mGeoPosExt = getResources().getStringArray(R.array.fileEndingGeoPosition);
Intent intent = this.getIntent();
setmFilters(intent.getStringArrayExtra("FileFilter"));
if(intent.getData() == null) browseTo(new File("/"));
else browseTo(new File(intent.getDataString()));
Display display = getWindowManager().getDefaultDisplay();
mGrid = new GridView(this);
mGrid.setNumColumns(display.getWidth() / 60);
mGrid.setOnItemClickListener(this);
mGrid.setAdapter(new IconAdapter());
setContentView(mGrid);
}
private synchronized void browseTo(final File location)
{
mCurrentDir = location;
mFiles.clear();
this.setTitle(mCurrentDir.getName().compareTo("") == 0 ? mCurrentDir.getPath() : mCurrentDir.getName());
if(location.getParentFile() != null) mFiles.add(mCurrentDir.getParentFile());
for(File file : mCurrentDir.listFiles())
{
mFiles.add(file);
}
if(mGrid != null) mGrid.setAdapter(new IconAdapter());
}
public class IconAdapter extends BaseAdapter
{
public int getCount()
{
return mFiles.size();
}
public Object getItem(int index)
{
return mFiles.get(index);
}
public long getItemId(int index)
{
return index;
}
public View getView(int index, View convertView, ViewGroup parent)
{
IconView icon;
File currentFile = mFiles.get(index);
int iconId;
String filename;
if(index == 0 && (currentFile.getParentFile() == null || currentFile.getParentFile().getAbsolutePath().compareTo(mCurrentDir.getAbsolutePath()) != 0))
{
iconId = R.drawable.updirectory;
filename = new String("..");
}
else
{
iconId = getIconId(index);
filename = currentFile.getName();
}
if(convertView == null)
{
icon = new IconView(FileBrowser.this, iconId, filename);
}
else
{
icon = (IconView)convertView;
icon.setIconResId(iconId);
icon.setFileName(filename);
}
return icon;
}
private int getIconId(int index)
{
File file = mFiles.get(index);
if(file.isDirectory()) return R.drawable.directory;
for(String ext : mAudioExt)
{
if(file.getName().endsWith(ext)) return R.drawable.audio;
}
for(String ext : mArchiveExt)
{
if(file.getName().endsWith(ext)) return R.drawable.archive;
}
for(String ext : mImageExt)
{
if(file.getName().endsWith(ext)) return R.drawable.image;
}
for(String ext : mWebExt)
{
if(file.getName().endsWith(ext)) return R.drawable.webdoc;
}
for(String ext : mTextExt)
{
if(file.getName().endsWith(ext)) return R.drawable.text;
}
for(String ext : mVideoExt)
{
if(file.getName().endsWith(ext)) return R.drawable.video;
}
for(String ext : mGeoPosExt)
{
if(file.getName().endsWith(ext)) return R.drawable.geoposition;
}
return R.drawable.unknown;
}
}
public String c;
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long id)
{
File file = mFiles.get((int)id);
if(file.isDirectory())
browseTo(file);
else{
path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_PICK, path);
//intent.putExtra("path", file.getAbsolutePath());
setResult(RESULT_OK, intent);
finish();
}
}
public String[] getmFilters() {
return mFilters;
}
public void setmFilters(String[] mFilters) {
this.mFilters = mFilters;
}
}
[/code]
e oq eu qero fazer e quando o openfile for aberto e a pessoa clicar no arquivo escolhido…o caminho desse arquivo va para um EditText em outro form…quem poder me ajudar eu agadeceria mt…
des de ja obrigado