簡體   English   中英

如何從Android中的列表視圖重命名SD卡的文件夾

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM