私はユーザーの場所を使用するアプリを持っています。私は、アプリケーションがインストール後に初めてアプリケーションを開くときにダイアログがポップアップするか、ユーザーが場所ベースのサービスを使用しようとしたときにダイアログボックスが表示されます(下の写真)ユーザの位置を使用することは、ユーザによって「禁止」される)。私はまた、ユーザが自分の好みを切り替えることができPreferenceActivity
で設定項目(チェックボックス)(以下PIC)を使用
AndroidのSharedPreferencesの値を変更すると、設定画面のチェックボックスの値が更新されます
。
私はキー「locationPermission」は成立するとチェックボックスの値がダイアログの選択に応じて自動的に変化すると予想していた私は、このコード
public void onClick(DialogInterface dialog, int id) { sharedPrefs =getSharedPreferences("prefs",MODE_WORLD_WRITEABLE); Editor editor = sharedPrefs.edit(); editor.putBoolean("locationPermission", true); editor.commit();
}
を使用していsharedpreferenceの値を変更するには値をチェックボックスに入力します。しかしそうではありません。
ダイアログボックス(pic 1)の選択をチェックボックスの値(pic 2)にマップするにはどうすればよいですか?
' onCreate'方法で使用することによって解決しました。私の 'PreferenceActivity'の私は今、 'android:persistent =" true "'を追加しました。役に立たない。ダイアログ内の選択が「設定画面」に反映されない – Gadenkan