package com.chinaece.gaia.gui; import java.io.File; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.Toast; import com.chinaece.gaia.R; import com.chinaece.gaia.util.FileBrowser; import com.chinaece.gaia.util.FileUtil; import com.chinaece.gaia.util.OnFileBrowserListener; public class FilesActivity extends Activity implements OnFileBrowserListener { @Override public void onFileItemClick(String filename) { try{ startActivity(FileUtil.openFile(new File(filename))); } catch (Exception e) { Toast.makeText(getApplicationContext(), "没有相关软件打开此文件", Toast.LENGTH_SHORT).show(); e.printStackTrace(); } } @Override public void onFlieLongItemClick(String filename) { modifyFile(new File(filename)); } @Override public void onDirItemClick(final String path) { CharSequence[] items = { "清空文件夹", "取消操作" }; AlertDialog.Builder builder = new AlertDialog.Builder(FilesActivity.this); builder.setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int item) { switch (item) { case 0: FileUtil.delAllFile(path); break; case 1: dialog.dismiss(); default: break; } } }); builder.show(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.files); FileBrowser fileBrowser = (FileBrowser) findViewById(R.id.filebrowser); fileBrowser.setOnFileBrowserListener(this); } private void modifyFile(final File f) { CharSequence[] items = { "重命名文件", "删除文件", "取消操作" }; AlertDialog.Builder builder = new AlertDialog.Builder( FilesActivity.this); builder.setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int item) { switch (item) { case 0: final EditText input = new EditText(FilesActivity.this); input.setText(f.getName().toString()); AlertDialog.Builder buider = new AlertDialog.Builder( FilesActivity.this); buider.setTitle("请输入新文件名"); buider.setView(input); buider.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { String value = input.getText().toString(); File newFile = new File("/mnt/sdcard/ece/" + value); f.renameTo(newFile); dialog.dismiss(); FileBrowser browser = (FileBrowser) findViewById(R.id.filebrowser); browser.refreshFiles(); ArrayAdapter<File> adapter = (ArrayAdapter<File>) browser .getAdapter(); adapter.notifyDataSetChanged(); } }).setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); buider.show(); break; case 1: f.delete(); FileBrowser browser = (FileBrowser) findViewById(R.id.filebrowser); browser.refreshFiles(); ArrayAdapter<File> adapter = (ArrayAdapter<File>) browser .getAdapter(); adapter.notifyDataSetChanged(); case 2: dialog.dismiss(); default: break; } } }); builder.show(); } }