2
我有一個對話框,提示用戶如果未啓用gps位置。打開系統位置設置後,android對話框不會關閉
打開設置後,用戶啓用gps,並從位置設置屏幕按下後退按鈕,他們回到應用程序,但對話框仍然可見。
這裏是點擊按鈕的代碼。
// On pressing Settings button
alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
mContext.startActivity(intent);
dialog.dismiss();
}
});
我的問題是爲什麼dialog.dismiss()不關閉對話框,我也試過dialog.cancel()具有相同的結果。打開設置屏幕後,我應該做些什麼?
感謝,
謝謝。是的,我從Web教程中借用了一些代碼,並且像上面這樣設置了上下文:private final Context mContext;然後再設置幾行。 刪除'最終'解決了這個問題。 我是新來的java,這是如何工作的?如果它已經被定義爲最終的,我會期望設置的原因和錯誤? – Rob
是的,差不多。最終字段必須在聲明或類構造函數中設置。在其他地方設置它們或重新設置它們會導致編譯時錯誤。最終的局部變量必須在聲明中設置,並且不能重新設置。但要小心 - 如果有人聲明'mContext'爲'final',也許他出於某種原因做了這件事;) – andr