찾다

 >  Q&A  >  본문

Android中dismissDialog(int id)和removeDialog(int id)两个接口有什么区别

天蓬老师天蓬老师2773일 전687

모든 응답(2)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-04-17 12:06:32

    恩,你的理解是正确的,通过具体源码可以验证

    //从Activity管理的容器中移除dialog的引用(可以近乎理解为销毁),并不显示对话框
    public final void removeDialog(int id) {
        if (mManagedDialogs != null) {
            final ManagedDialog md = mManagedDialogs.get(id);
            if (md != null) {
                md.mDialog.dismiss();
                mManagedDialogs.remove(id);
            }
        }
    }
    
    //仅仅是不显示对话框,便于再次使用。
    public final void dismissDialog(int id) {
        if (mManagedDialogs == null) {
            throw missingDialog(id);
        }
    
        final ManagedDialog md = mManagedDialogs.get(id);
        if (md == null) {
            throw missingDialog(id);
        }
        md.mDialog.dismiss();
    }
    

    회신하다
    0
  • 高洛峰

    高洛峰2017-04-17 12:06:32

    新的SDK中已经被废弃了。不推荐使用。 另外书的话 尽量看新的

    회신하다
    0
  • 취소회신하다