我需要一个示例 - 教程如何激活和取消激活首选项活动中的元素。激活并取消激活首选项
例如,在下图中,当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