第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

防止在Android屏幕旋轉(zhuǎn)時關(guān)閉對話框

防止在Android屏幕旋轉(zhuǎn)時關(guān)閉對話框

不負相思意 2019-10-26 11:16:17
我試圖防止在重新啟動“活動”時關(guān)閉由“警報”構(gòu)建器構(gòu)建的對話框。如果我重載onConfigurationChanged方法,則可以成功完成此操作,并將布局重置為正確的方向,但是我失去了edittext的粘性文本功能。因此,在解決對話框問題時,我創(chuàng)建了這個edittext問題。如果我保存了來自edittext的字符串,并在onCofiguration更改中將它們重新分配,它們似乎仍默認為初始值,而不是旋轉(zhuǎn)前輸入的初始值。即使我強制失效,似乎也不會更新它們。我真的需要解決對話框問題或edittext問題。謝謝您的幫助。
查看完整描述

3 回答

?
白板的微信

TA貢獻1883條經(jīng)驗 獲得超3個贊

// Prevent dialog dismiss when orientation changes

private static void doKeepDialog(Dialog dialog){

    WindowManager.LayoutParams lp = new WindowManager.LayoutParams();

    lp.copyFrom(dialog.getWindow().getAttributes());

    lp.width = WindowManager.LayoutParams.WRAP_CONTENT;

    lp.height = WindowManager.LayoutParams.WRAP_CONTENT;

    dialog.getWindow().setAttributes(lp);

}

public static void doLogout(final Context context){     

        final AlertDialog dialog = new AlertDialog.Builder(context)

        .setIcon(android.R.drawable.ic_dialog_alert)

        .setTitle(R.string.titlelogout)

        .setMessage(R.string.logoutconfirm)

        .setPositiveButton("Yes", new DialogInterface.OnClickListener()

        {

            @Override

            public void onClick(DialogInterface dialog, int which) {

                ...   

            }


        })

        .setNegativeButton("No", null)      

        .show();    


        doKeepDialog(dialog);

    }


查看完整回答
反對 回復 2019-10-26
?
aluckdog

TA貢獻1847條經(jīng)驗 獲得超7個贊

如果您要更改方向的布局,我不會放在android:configChanges="orientation"清單中,因為無論如何您都是在重新創(chuàng)建視圖。


使用以下方法保存活動的當前狀態(tài)(如輸入的文本,顯示的對話框,顯示的數(shù)據(jù)等):


@Override

protected void onSaveInstanceState(Bundle outState) {

    super.onSaveInstanceState(outState);

}


@Override

protected void onRestoreInstanceState(Bundle savedInstanceState) {

    super.onRestoreInstanceState(savedInstanceState);

}

這樣,活動將再次通過onCreate進行,然后調(diào)用onRestoreInstanceState方法,您可以在其中再次設(shè)置EditText值。


如果要存儲更復雜的對象,可以使用


@Override

public Object onRetainNonConfigurationInstance() {

}

在這里,您可以存儲任何對象,在onCreate中,只需調(diào)用getLastNonConfigurationInstance();即可獲取該對象。


查看完整回答
反對 回復 2019-10-26
  • 3 回答
  • 0 關(guān)注
  • 908 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號