我需要一個示例 - 教程如何激活和取消激活首選項活動中的元素。激活並取消激活首選項
例如,在下圖中,當Wi-Fi複選框未被選中時,我無法觸摸網絡通知複選框,並且它變爲灰色,當選中Wi-Fi複選框時,我可以觸摸另一個複選框。
此外,如何啓用whi-fi複選框時填充添加Wi-Fi網絡選項卡?
我需要一個示例 - 教程如何激活和取消激活首選項活動中的元素。激活並取消激活首選項
例如,在下圖中,當Wi-Fi複選框未被選中時,我無法觸摸網絡通知複選框,並且它變爲灰色,當選中Wi-Fi複選框時,我可以觸摸另一個複選框。
此外,如何啓用whi-fi複選框時填充添加Wi-Fi網絡選項卡?
我們需要在從另一偏好取決於Android的喜好加入出來的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" />
當偏好活動的onResume方法檢查無線網絡連接狀態啓動,或任何你想和啓用/禁用適當的偏好。
它可能看起來類似於這個簡單的例子,只是爲了給你一個大致的想法。
@Override
protected void onResume() {
super.onResume();
boolean isConnected = getConnectionStatus();
if(isConnected) {
connPreference.setEnabled(false);
} else {
connPreference.setEnabled(true);
}
}
您的偏好設置活動應執行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,那麼您也可以查看啓用或禁用整個類別。
接受你的答案,如果它解決了問題 – 2013-07-14 15:30:14