設定アクティビティで要素をアクティブ化および非アクティブ化する方法の例のチュートリアルが必要です。
たとえば、下の図では、Wi-Fi チェック ボックスが選択されていない場合、[ネットワーク通知] チェック ボックスをタッチできず、灰色に変わります。Wi-Fi チェック ボックスが選択されている場合は、他のチェック ボックスをタッチできます。
また、whi-fi チェックボックスが有効になっている場合、[Wi-Fi ネットワークの追加] タブにデータを入力するにはどうすればよいですか?
設定アクティビティで要素をアクティブ化および非アクティブ化する方法の例のチュートリアルが必要です。
たとえば、下の図では、Wi-Fi チェック ボックスが選択されていない場合、[ネットワーク通知] チェック ボックスをタッチできず、灰色に変わります。Wi-Fi チェック ボックスが選択されている場合は、他のチェック ボックスをタッチできます。
また、whi-fi チェックボックスが有効になっている場合、[Wi-Fi ネットワークの追加] タブにデータを入力するにはどうすればよいですか?
別の設定 android:dependency="" コードに依存している設定に、preferences.xml ファイルを追加する必要があります。
例えば :
<CheckBoxPreference
android:key="checkBox"
android:summary="On/Off"
android:title="Enable" />
<ListPreference
android:entries="@array/listOptions"
android:entryValues="@array/listValues"
android:key="listpref"
android:summary="List preference example"
android:title="List preference"
android:dependency="checkBox" />
あなたの設定アクティビティは を実装する必要がありますOnSharedPreferenceChangeListener
。必ずリスナーにアクティビティを登録および登録解除してください。
次に、メソッドonResume()
とonSharedPreferenceChanged
メソッドの両方で、制御設定の状態を評価して、従属設定を有効にするか無効にするかを決定します。
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
final String key) {
if (key.equals(PREFERENCE_KEY)) {
// handle setting enabled or disabled depending on value of preference
if (sharedPreferences.getBoolean(key, false)) {
// prefField.setenabled(true);
} else {
// prefField.setenabled(false);
}
}
}
PreferenceCategory も使用する場合は、カテゴリ全体を有効または無効にすることもできます。
設定アクティビティが onResume メソッドで開始されたら、wifi 接続ステータスを確認するか、必要なものを確認し、適切な設定を有効/無効にします。
一般的な考え方を示すために、この単純な例に似ているように見えるかもしれません。
@Override
protected void onResume() {
super.onResume();
boolean isConnected = getConnectionStatus();
if(isConnected) {
connPreference.setEnabled(false);
} else {
connPreference.setEnabled(true);
}
}