2017-03-03 60 views
0

我有CALSS A延伸Dialog(未DialogFragment)在屏幕顯示(創建在MainAcitivity一個目的),我已經在一個mContext部件值,並且當屏幕旋轉,我想更新mContext,我該怎麼辦?會有什麼的Android Dialog類對象屏幕旋轉後做

public class MainActivity extends AppCompatActivity { 
.... 
A mDialog = new A(this); 
mDialog.showDialog(); 
.... 
} 

public class A extends Dialog { 
    Context mContext; 
    .... 
    public void showDialog() { 
     .... 
    } 

    private void functionB() { 
     //need to use the updated mContext; 
    } 
} 
+0

更新mContext是什麼意思?你想用它做什麼? –

+0

我有一個與mContext連接的監聽器,如果我在roatation之後使用舊的mContext,並且它會導致崩潰,因爲以前的活動已被破壞 – newszer

+0

嘗試在Activity被破壞時關閉對話框。然後它將在Activity被重新創建。您無法將上下文保存在onSaveInstanceState中。 –

回答

0

我期望當您旋轉設備時,對話框將調用onStop,然後onStart。如果需要,可以覆蓋它們,並保存和恢復instanceState。

https://developer.android.com/reference/android/app/Dialog.html

但我不知道如何幫助你,因爲這個問題是如此的模糊。

+0

在Acitivity生命週期或Dialog類中執行onStop和onStart嗎? – newszer

+0

我指的是對話框類。查看鏈接。 –