فهرست منبع

pdftools(android) - 新增note注释时,点空白处保存内容

libai 1 سال پیش
والد
کامیت
f965fb150d

+ 18 - 0
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfnote/CNoteEditDialog.java

@@ -52,6 +52,8 @@ public class CNoteEditDialog extends DialogFragment {
 
     private COnDialogDismissListener dialogCancelListener;
 
+    private DialogDismiss dialogDismissListener;
+
     public static CNoteEditDialog newInstance(String content) {
         Bundle args = new Bundle();
         args.putString(EXTRA_NOTE_CONTENT, content);
@@ -115,6 +117,10 @@ public class CNoteEditDialog extends DialogFragment {
         this.saveListener = saveListener;
     }
 
+    public void setDismissListener(DialogDismiss dissmissListener) {
+        this.dialogDismissListener = dissmissListener;
+    }
+
     public String getContent(){
         return etContent.getText() != null ? etContent.getText().toString() : "";
     }
@@ -159,4 +165,16 @@ public class CNoteEditDialog extends DialogFragment {
     public void setDialogCancelListener(COnDialogDismissListener dialogCancelListener) {
         this.dialogCancelListener = dialogCancelListener;
     }
+
+    @Override
+    public void onDismiss(@NonNull DialogInterface dialog) {
+        if (dialogDismissListener != null) {
+            dialogDismissListener.onDialogDismiss();
+        }
+        super.onDismiss(dialog);
+    }
+
+    public interface DialogDismiss {
+        void onDialogDismiss();
+    }
 }

+ 7 - 0
compdfkit-tools/src/main/java/com/compdfkit/tools/annotation/pdfproperties/pdfnote/CPDFtextAnnotAttachHelper.java

@@ -22,6 +22,13 @@ public class CPDFtextAnnotAttachHelper extends CPDFTextAnnotAttachHelper {
     protected void onAddTextAnnot(CPDFTextAnnotImpl cpdfTextAnnot) {
         cpdfTextAnnot.setFocused(true);
         CNoteEditDialog editDialog = CNoteEditDialog.newInstance("");
+        editDialog.setDismissListener(new CNoteEditDialog.DialogDismiss() {
+            @Override
+            public void onDialogDismiss() {
+                String content = editDialog.getContent();
+                cpdfTextAnnot.onGetAnnotation().setContent(content);
+            }
+        });
         editDialog.setSaveListener(v -> {
             String content = editDialog.getContent();
             cpdfTextAnnot.onGetAnnotation().setContent(content);