gpt4 book ai didi

android - 如何以编程方式删除 PreferenceCategory?

转载 作者:IT老高 更新时间:2023-10-28 21:36:33 25 4
gpt4 key购买 nike

我需要以编程方式删除 PreferenceCategory。我可以使用以下代码删除个人首选项,但我还需要删除(禁用)整个 PreferenceCategory。

PreferenceScreen preferenceScreen = getPreferenceScreen();
EditTextPreference etp = (EditTextPreference) preferenceScreen.findPreference("pref22");
((PreferenceGroup) findPreference("prefcat")).removePreference(etp);

编辑:这是 PreferenceCategory“prefcat”和子偏好“pref22”的工作代码:

PreferenceScreen preferenceScreen = getPreferenceScreen();
EditTextPreference etp = (EditTextPreference) preferenceScreen.findPreference("pref22");

PreferenceGroup preferenceGroup = (PreferenceGroup) findPreference("prefcat");
if (preferenceGroup != null) {
preferenceGroup.removePreference(etp);
preferenceScreen.removePreference(preferenceGroup);
}

最佳答案

您可以通过引用 PreferenceScreen 来隐藏类别:

我是你的 xml:

<PreferenceScreen 
xmlns:android="http://schemas.android.com/apk/res/android"
android:key="@string/preferenceScreen">

//set all you values
//Preference, PreferenceCategory and/or CheckBoxPreference

</PreferenceScreen>

在你的 string.xml 中:不要忘记设置这个新字符串

 <string name="preferenceScreen" translatable="false">preferenceScreen</string>

在你的代码中:

preferenceScreen = (PreferenceScreen) findPreference(getResources().getString(R.string.preferenceScreen));

然后从您的 PreferenceScreen 中删除该类别:

myCategory = (PreferenceCategory) findPreference(getResources().getString(R.string.my_category));
myPreferenceScreen.removePreference(myCategory);

关于android - 如何以编程方式删除 PreferenceCategory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5605520/

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