搜尋

首頁  >  問答  >  主體

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

天蓬老师天蓬老师2773 天前688

全部回覆(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
  • 取消回覆