[英]How to rename folder of SD-Card from list-view in android
我正在嘗試從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();
}
}
}
這里的Code是靜態類,而pm是整數變量。 因此,當用戶單擊基於pm變量值的按鈕時 ,它將執行任務天氣以重命名文件夾或創建文件夾。
如果我了解您的問題,則您在執行“某些任務”后嘗試重命名目錄。 這些任務是否已放入此文件夾? 如果是,請確保已關閉流(創建/修改內容),如下所示:
stream.close();
另請檢查LogCat以查看是否顯示了一些警告。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.