OSDN Git Service

データの削除機能を搭載。
authorMRSa <mrsa@myad.jp>
Wed, 3 May 2023 14:40:12 +0000 (23:40 +0900)
committerMRSa <mrsa@myad.jp>
Wed, 3 May 2023 14:40:12 +0000 (23:40 +0900)
app/src/main/java/jp/sourceforge/gokigen/memoma/dialogs/FileSelectionDialog.java
app/src/main/java/jp/sourceforge/gokigen/memoma/extension/ExtensionActivityListener.java

index dad9447..31f7e30 100644 (file)
@@ -30,13 +30,13 @@ public class FileSelectionDialog
         *
         */
        public FileSelectionDialog(Context arg, String titleMessage, String extension, IResultReceiver receiver)
-       {
-           context = arg;      
-           resultReceiver = receiver;
-               title = titleMessage;
+    {
+        context = arg;
+        resultReceiver = receiver;
+        title = titleMessage;
         fileExtension = extension;
         dataFileHolder = new MeMoMaDataFileHolder(context, android.R.layout.simple_list_item_1, extension);
-       }
+    }
 
        /**
         *   ファイル一覧データをつくる!
@@ -58,7 +58,7 @@ public class FileSelectionDialog
 
         AlertDialog.Builder builder = new AlertDialog.Builder(context);
         
-        final ListView  listView = (ListView)  layout.findViewById(R.id.ListDataFileName);
+        final ListView  listView = layout.findViewById(R.id.ListDataFileName);
         listView.setAdapter(dataFileHolder);
 
         // 表示するデータ(ダイアログタイトル)を準備する
index 8ced7fc..2a1c1ca 100644 (file)
@@ -2,6 +2,7 @@ package jp.sourceforge.gokigen.memoma.extension;
 
 import static jp.sourceforge.gokigen.memoma.Main.APP_NAMESPACE;
 
+import java.io.File;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -458,8 +459,33 @@ public class ExtensionActivityListener  implements OnClickListener, MeMoMaFileLo
         try
         {
             //  データの一覧を取得する
+            FileSelectionDialog dialog = new FileSelectionDialog(parent, parent.getString(R.string.delete_content), ".xml", fileName -> {
+                // fileNameのファイルを削除する...
+                Thread thread = new Thread(() -> {
+                    // ファイル削除の実処理
+                    String targetFile = parent.getFilesDir() + "/" + fileName;
+                    if (!(new File(targetFile).delete()))
+                    {
+                        Log.v(TAG, "Content Delete Failure : " + fileName);
+                    }
+                });
+                try
+                {
+                    // 削除実処理の実行
+                    thread.start();
+                    parent.runOnUiThread(() -> {
+                        String outputMessage = parent.getString(R.string.delete_content) + " " + fileName;
 
-
+                        Toast.makeText(parent, outputMessage, Toast.LENGTH_SHORT).show();
+                    });
+                }
+                catch (Exception e)
+                {
+                    e.printStackTrace();
+                }
+            });
+            dialog.prepare();
+            dialog.getDialog().show();
         }
         catch (Exception e)
         {
@@ -577,10 +603,12 @@ public class ExtensionActivityListener  implements OnClickListener, MeMoMaFileLo
 
                    listItems.add(listItem);
                }
-           } catch (Exception ex)
+           }
+        catch (Exception ex)
            {
                // 例外発生...ログを吐く
-               Log.v(TAG, "ExtensionActivityListener::onLoadingProcess() : " + ex.toString());
+               Log.v(TAG, "ExtensionActivityListener::onLoadingProcess() : " + ex.getMessage());
+            ex.printStackTrace();
            }   
        }