android对话框调用Disclose,但不是Disclose

android对话框调用Disclose,但不是Disclose,android,Android,我的Android应用程序编码有如下问题: 我使用disclose()隐藏对话框,但对话框并没有像预期的那样消失。对话框在实际调用dismise()时仍保留在活动界面中 感觉像是被绊倒了或是别的什么。硬件后退按钮也不工作。应用程序只是卡在那里。 有人能帮我吗 提前谢谢 示例图片 还有一些相关的代码。我使用MVP架构师 @覆盖 public void editAllNum(上下文上下文,int-num,List-goodList){ 订阅s=可观察的。仅(num) .filter(integer

我的Android应用程序编码有如下问题: 我使用
disclose()
隐藏对话框,但对话框并没有像预期的那样消失。对话框在实际调用dismise()时仍保留在活动界面中

感觉像是被绊倒了或是别的什么。硬件后退按钮也不工作。应用程序只是卡在那里。 有人能帮我吗 提前谢谢

示例图片 还有一些相关的代码。我使用MVP架构师

@覆盖
public void editAllNum(上下文上下文,int-num,List-goodList){
订阅s=可观察的。仅(num)
.filter(integer->goodList.size()!=0)//大小的goodList永远不等于0。
.subscribeOn(Schedulers.io())
.compose(TransformerUtil.showLoadingDialog(mView))//调用show dialog。
.flatMap(新函数1(){
@凌驾
公共可观察调用(整数num){
列表=新的ArrayList();
for(ShopCar.GoodListBean项:goodList){
如果(item.getRemainNum()!=0){
if(item.getRemainNum()>num){
如果(item.getLimit()!=0){
item=editNum(item,num);//editNum不重要
}否则{
项目.setNum(num);
}
}否则{
如果(item.getLimit()!=0){
item=editNum(item,num);
}否则{
item.setNum(item.getRemainNum());
}
}
}
列表。添加(项目);
}
返回可观察的。刚(列表);
}
})
.flatMap(新函数1(){
@凌驾
公共可观察呼叫(列表临时){
返回mPaymentImpl.updateGoodsNumAndQuery(context,temp);//操作数据库更新一些数据。
}
})
.observeOn(AndroidSchedulers.mainThread())
.subscribe(新订户(){
@凌驾
未完成的公共无效(){
}
@凌驾
公共无效申报人(可丢弃的e){
mView.dismissLoadingDialog();
}
@凌驾
public void onNext(列表){
mView.dismissLoadingDialog();//调用dismise dialog。
mView.setShopCarFromDB(列表);
}
});
追加认购;

}
首先检查mLoadingDialog的值是否为空。也许这个值是空的。你在屏幕上看到的对话框可能不是mLoadingDialog。通过更改下面的函数,您在logcat中看到了什么

@Override
        public void dismissLoadingDialog() {
            if ( mLoadingDialog != null ) {
                LogUtils.e(" dismiss loading dialog ");
                mLoadingDialog.dismiss();
            }else{
               LogUtils.e("mLoadingDialog is null skip dismiss loading dialog ");
           }
        }

尝试mLoadingDialog.cancel();检查mLoadingDialog值是否为null,可能为null,并跳过dimiss@NikhilSharma我试过了,对话框也不能关闭。@kggoh我试着注意,如果mLoadingDialog为空,对话框仍然不会消失