2013-05-29 81 views
1

在我的應用程序中,我創建了一個簡單的對話框作爲一個活動。 對於變化的對話使用清單文件一樣創建一個對話框作爲一個活動?

<activity 
     android:name=".Dialog_actvity" 
     android:excludeFromRecents="true" 
     android:launchMode="singleInstance" 
     android:screenOrientation="landscape" 
     android:theme="@android:style/Theme.Dialog" > 
    </activity> 

這樣的活動,它顯示對話框正確的,但不能設置setcancelable(假)在對話框activity.I不知道如何設置。任何一個知道請幫我解決這個問題。

+0

你需要通過自己來實現這個行爲。像onbackpress處理或觸摸處理關閉活動.. –

+0

與您的問題不相關,但爲什麼你要設置'launchMode =「singleInstance」'?這可能是不正確的。 –

+0

@DavidWasser我認爲,這個屬性是活動專有的。 –

回答

2

因爲這是一個Activity而不是Dialog,您無權訪問setcancelable(false)。 您可以通過在活動中重寫onBackPressed()來禁用後退按鈕。

@Override 
public void onBackPressed() { 
} 

請記住,如果您在某些情況下忘記完成對話活動並沒有真正的用戶友好,那就沒什麼危險。

0

除了FabiF的答案。在情況下,活動應該也不會自動關閉點擊活動外使用時:

@Override 
public boolean onTouchEvent(MotionEvent event) 
{ 
    return true; 
} 

這不會妨礙例如您的按鈕無法接收點擊事件。

相關問題