Shadow
Shadow copied to clipboard
关于宿主fragment启动插件activity问题
我想在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
问题:1、关闭loading界面之后,我应该加载哪个布局?fragment的还是activity的?
这应该是业务根据自身需求决定的。你不用LoadingView也不影响插件加载。
问题2.加载loadingview的时候,宿主fragment界面中跳转按钮消失?
不知道你为什么要来这里问,showLoadingView
不是你自己实现的吗?
问题3. 退出应用还是报报错
这个如果能在Shadow的sample上复现,才能比较好确定是哪里的问题。fork之后添加少量修改,然后push上来看看。
针对第一个问题。我用的是maven引用的远程库,在fragment中启动插件activity,想返回到宿主的时候宿主的UI和数据(acitivity和fragment)不发生变化,所以得在onCloseLoadingView(){}的方法回调中要加载展示的View,不知道setContentView()这里应该传入哪个View.
所以得在onCloseLoadingView(){}的方法回调中要加载展示的View
这个所以是怎么得到的?你不修改原先宿主Activity的View,等回来的时候它就不会变啊。你如果非要改,那你就得自己还原它。