1
0
kongzue 2 жил өмнө
parent
commit
9a3ef8a54e

+ 13 - 5
DialogX/src/main/java/com/kongzue/dialogx/interfaces/DialogLifecycleCallback.java

@@ -14,17 +14,25 @@ import androidx.lifecycle.LifecycleRegistry;
  */
 public abstract class DialogLifecycleCallback<T extends BaseDialog> implements LifecycleOwner {
     
-    private LifecycleRegistry registry = new LifecycleRegistry(this);
+    private final LifecycleRegistry registry = new LifecycleRegistry(this);
     
     public void onShow(T dialog) {
-        if (registry.getCurrentState()!= Lifecycle.State.CREATED){
-            registry.setCurrentState(Lifecycle.State.CREATED);
+        try {
+            //概率性报 no event down from INITIALIZED,目前尚不清楚为何
+            if (registry.getCurrentState() != Lifecycle.State.CREATED) {
+                registry.setCurrentState(Lifecycle.State.CREATED);
+            }
+        } catch (Exception e) {
         }
     }
     
     public void onDismiss(T dialog) {
-        if (registry.getCurrentState()!= Lifecycle.State.DESTROYED){
-            registry.setCurrentState(Lifecycle.State.DESTROYED);
+        try {
+            if (registry.getCurrentState() != Lifecycle.State.DESTROYED) {
+                //概率性报 no event down from INITIALIZED,目前尚不清楚为何
+                registry.setCurrentState(Lifecycle.State.DESTROYED);
+            }
+        } catch (Exception e) {
         }
     }
     

+ 19 - 20
app/src/main/java/com/kongzue/dialogxdemo/activity/MainActivity.java

@@ -329,30 +329,29 @@ public class MainActivity extends BaseActivity {
             public void onClick(View v) {
                 PopMenu.show(new String[]{"添加", "编辑", "删除", "分享"})
                         .setOnIconChangeCallBack(new OnIconChangeCallBack<PopMenu>(true) {
-                    @Override
-                    public int getIcon(PopMenu dialog, int index, String menuText) {
-                        switch (index) {
-                            case 0:
-                                return R.mipmap.img_dialogx_demo_add;
-                            case 1:
-                                return R.mipmap.img_dialogx_demo_edit;
-                            case 2:
-                                return R.mipmap.img_dialogx_demo_delete;
-                            case 3:
-                                return R.mipmap.img_dialogx_demo_share;
-                            default:
-                                return 0;
-                        }
-                    }
-                });
+                            @Override
+                            public int getIcon(PopMenu dialog, int index, String menuText) {
+                                switch (index) {
+                                    case 0:
+                                        return R.mipmap.img_dialogx_demo_add;
+                                    case 1:
+                                        return R.mipmap.img_dialogx_demo_edit;
+                                    case 2:
+                                        return R.mipmap.img_dialogx_demo_delete;
+                                    case 3:
+                                        return R.mipmap.img_dialogx_demo_share;
+                                    default:
+                                        return 0;
+                                }
+                            }
+                        });
             }
         });
         
         btnSelectMenu.setOnClickListener(new View.OnClickListener() {
             @Override
-            public void onClick(View v) {
-                PopMenu.show(v, new String[]{"选项1", "选项2", "选项3"})
-                        .setOverlayBaseView(true)
+            public void onClick(View view) {
+                PopMenu.show(view, new String[]{"选项1", "选项2", "选项3"})
                         .setOnMenuItemClickListener(new OnMenuItemClickListener<PopMenu>() {
                             @Override
                             public boolean onClick(PopMenu dialog, CharSequence text, int index) {
@@ -621,7 +620,7 @@ public class MainActivity extends BaseActivity {
                             .setMenuItemTextInfoInterceptor(new MenuItemTextInfoInterceptor<BottomMenu>() {
                                 @Override
                                 public TextInfo menuItemTextInfo(BottomMenu dialog, int index, String menuText) {
-                                    if (index==2){
+                                    if (index == 2) {
                                         return new TextInfo()
                                                 .setFontColor(Color.RED)
                                                 .setBold(true);

BIN
readme/pb_to_future.jpg