gpt4 book ai didi

android - PreferenceActivity 的 UI 刷新

转载 作者:行者123 更新时间:2023-11-29 02:02:48 25 4
gpt4 key购买 nike

我有一个 PreferenceActivity,其中代表一个设置 UI,当我按下第一个复选框时,第二个复选框就会变得可见。另一方面,当第一个复选框未选中时,第二个复选框将被隐藏(并获得默认值 false)。

问题是我需要在选中(或取消选中)第一个复选框时刷新我的 UI 屏幕,因为现在使用该代码我需要转到另一个 Activity(例如,当我按下后退按钮时)然后再次返回 PreferenceActivity 以查看我的 UI 上的更改。

PreferenceActivity 代码:

public class SetPreference extends PreferenceActivity implements
OnSharedPreferenceChangeListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.checkboxpref);
}

@Override
protected void onStart() {
super.onStart();

Preference checkbox = findPreference("checkBox_Schedule");

SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);

if (prefs.getBoolean("checkBox", true)) {

} else {

((PreferenceGroup) findPreference("category_second"))
.removePreference(checkbox);

SharedPreferences.Editor geted = prefs.edit();
geted.putBoolean("checkBox_Schedule", false);
geted.commit();
}
}

@Override
protected void onResume() {
super.onResume();

}

@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
// TODO Auto-generated method stub

}

}

XML 代码:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

<PreferenceCategory
android:summary="Username and password information"
android:title="Login information" >
<EditTextPreference
android:key="username"
android:summary="Please enter your login username"
android:title="Username" />
<EditTextPreference
android:inputType="textPassword"
android:key="password"
android:summary="Enter your password"
android:title="Password" />
</PreferenceCategory>
<PreferenceCategory
android:summary="Username and password information"
android:title="Settings"
android:key="category_first" >
<CheckBoxPreference
android:key="checkBox"
android:summary="On/Off"
android:title="Keep me logged in" />

<ListPreference
android:entries="@array/listOptions"
android:entryValues="@array/listValues"
android:key="listpref"
android:summary="List preference example"
android:title="List preference" />
</PreferenceCategory>
<PreferenceCategory
android:summary="schedule"
android:key="category_second"
android:title="Schedule" >
<CheckBoxPreference
android:key="checkBox_Schedule"
android:summary="On/Off"
android:title="Keep me logged in" />
</PreferenceCategory>

</PreferenceScreen>

感谢您的宝贵时间。

最佳答案

确定,然后在选中/取消选中复选框时重新启动 Activity :

startActivity(new Intent(PreferencesActivity.this, PreferencesActivity.class));
finish();

考虑对第一个复选框使用 onPreferenceSelectedListener 来检测选中/取消选中首选项的行为。

关于android - PreferenceActivity 的 UI 刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11673096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com