我有一个内容菜单,当你在几秒钟内按下项目时,它会弹出一个重命名和删除菜单.但我不知道如何获得一个文件的正确目录.这是我的代码:
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch(item.getItemId()) {
case R.id.rename:
// edit stuff here
return true;
case R.id.delete:
File dir = new File(Environment.getExternalStorageDirectory()+"/Music/MusicPlayer");
if (dir.isDirectory())
{
String[] children = dir.list();
for (int i = 0; i < children.length; i++)
{
new File(dir, children[i]).delete();
}
}
// remove stuff here
return true;
default:
return super.onContextItemSelected(item);
}
}
Run Code Online (Sandbox Code Playgroud)
使用下面的util函数删除文件或目录.
public static boolean delete(File path) {
boolean result = true;
if (path.exists()) {
if (path.isDirectory()) {
for (File child : path.listFiles()) {
result &= delete(child);
}
result &= path.delete(); // Delete empty directory.
} else if (path.isFile()) {
result &= path.delete();
}
return result;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
File dir = new File(Environment.getExternalStorageDirectory()+"/Music/MusicPlayer");
delete(dir);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3202 次 |
| 最近记录: |