Shadow icon indicating copy to clipboard operation
Shadow copied to clipboard

关于宿主fragment启动插件activity问题

Open marufei opened this issue 3 years ago • 3 comments

我想在APP首页的fragment中调用插件activity并给它传值,通过Pluginmanager去启动

            v.setEnabled(false);//防止点击重入
            PluginManager pluginManager = InitApplication.getPluginManager();
            pluginManager.enter(getActivity(), FROM_ID_START_ACTIVITY, new Bundle(), new EnterCallback() {
                @Override
                public void onShowLoadingView(View view) {
                    getActivity().showLoadingView(view);//显示Manager传来的Loading页面
                }

                @Override
                public void onCloseLoadingView() {
                    // 问题:1、关闭loading界面之后,我应该加载哪个布局?fragment的还是activity的?

                }

                @Override
                public void onEnterComplete() {
                    v.setEnabled(true);
                }
            });

//问题2.加载loadingview的时候,宿主fragment界面中跳转按钮消失? //问题3. 退出应用还是报报错(不知道跟shadow有没有关系,感觉可能跟Androidx的库有关系) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean androidx.fragment.app.FragmentManagerImpl.isDestroyed()' on a null object reference

marufei avatar Jan 10 '22 06:01 marufei

问题:1、关闭loading界面之后,我应该加载哪个布局?fragment的还是activity的?

这应该是业务根据自身需求决定的。你不用LoadingView也不影响插件加载。

问题2.加载loadingview的时候,宿主fragment界面中跳转按钮消失?

不知道你为什么要来这里问,showLoadingView不是你自己实现的吗?

问题3. 退出应用还是报报错

这个如果能在Shadow的sample上复现,才能比较好确定是哪里的问题。fork之后添加少量修改,然后push上来看看。

shifujun avatar Jan 10 '22 07:01 shifujun

针对第一个问题。我用的是maven引用的远程库,在fragment中启动插件activity,想返回到宿主的时候宿主的UI和数据(acitivity和fragment)不发生变化,所以得在onCloseLoadingView(){}的方法回调中要加载展示的View,不知道setContentView()这里应该传入哪个View.

marufei avatar Jan 11 '22 02:01 marufei

所以得在onCloseLoadingView(){}的方法回调中要加载展示的View

这个所以是怎么得到的?你不修改原先宿主Activity的View,等回来的时候它就不会变啊。你如果非要改,那你就得自己还原它。

shifujun avatar Jan 11 '22 03:01 shifujun