我試圖從onStart啓動一個浮動活動,以便在初始活動開始時從用戶權限中檢索一些信息。我有以下幾點:在onStart中啓動活動的問題
@Override
public void onStart(){
super.onStart();
callProfileDialog();
}
而且callProfileDialog()
就是:
private void callProfileDialog(){
Intent i = new Intent(this, com.utility.ProfileDialog.class);
startActivityForResult(i, PROFDIALOG);
}
ProfileDialog.class
返回從一個輸入框的字符串。如果返回的結果是RESULT_CANCELED
,那麼我重新開始活動。
我遇到的問題是,當程序啓動時,屏幕只是黑色。如果我點擊返回按鈕RESULT_CANCELED
返回,那麼最初的活動顯示以及浮動活動(因爲它得到RESULT_CANCELED
時它自己召回)。爲什麼我無法通過從onStart()調用ProfileDialog.class
來獲得活動顯示?當我在onCreate()的末尾調用它時,我得到了相同的結果,這是我切換到使用onStart()的方式。謝謝您的幫助。
編輯:我也曾嘗試以下操作:
@Override
public void onWindowFocusChanged(boolean hasFocus){
if(hasFocus)
callProfileDialog();
}
但是,這也不行。一旦我點擊後退按鈕,一切正常,但沒有這樣做,它全部是黑色的。
第一個建議有和我目前一樣的問題。第二個建議雖然不僅僅是黑色,但一旦我點擊後退按鈕,它也不斷啓動浮動活動。 – Fizz 2010-04-14 20:13:51