我正在尝试从SD卡获取所有特定文件夹名的列表到android中的列表视图。我给两个选项给用户,他们可以创建文件夹,也可以从应用程序重命名文件夹。
通过列表视图,我给出了复选框,这样用户就可以一次检查任何单一的列表值,然后执行他们希望在SD卡中编辑或创建文件夹的操作。
在创建文件夹之前,一切都很正常,但是我的问题在这里开始,当用户尝试重命名文件夹名时,第一次用户可以成功地更改文件夹名,但是当第二次执行相同的任务时,用户无法再次重命名相同的文件夹。
我做了什么错误,下面是我的代码,请帮助,谢谢提前。
private static List<String> myList = new ArrayList<String>();
public static void folder_create() {
if (Code.pm == 1) {
String updateFolder = Environment.getExternalStorageDirectory()
.getPath() + "/AudioRecorder/";
File filecall = null;
filecall = new File(updateFolder);
File list[] = filecall.listFiles();
for (int i = 0; i < list.length; i++) {
myList.add(list[i].getName());
}
int len = mListView.getCount();
SparseBooleanArray checked = mListView.getCheckedItemPositions();
for (int i = 0; i < len; i++)
if (checked.get(i)) {
String mUpdateName = myList.get(i);
File file = new File(updateFolder + "/" + mUpdateName);
System.out.println("=======File======" + file);
File file2 = new File(updateFolder + "/" + Code.className);
System.out.println("=======File2======" + file2);
file.renameTo(file2);
}
} else {
String filepath = Environment.getExternalStorageDirectory()
.getPath();
File file = new File(filepath, "/AudioRecorder/" + Code.className);
if (!file.exists()) {
file.mkdirs();
}
}
}这里,代码是静态类,pm是整数变量。因此,当用户单击基于pm变量值的按钮时,它将执行任务天气来重命名文件夹或创建文件夹。
发布于 2013-12-30 09:54:37
如果我理解您的问题,您将尝试在执行“一些任务”后重命名目录。这些任务是否已放入此文件夹?如果是,请确保您已经关闭了流(创建/修改内容)如下:
stream.close();还请检查LogCat,看看是否显示了一些警告。
https://stackoverflow.com/questions/20835195
复制相似问题