gpt4 book ai didi

android - 如何从屏幕上删除 Android 偏好设置

转载 作者:可可西里 更新时间:2023-11-01 18:49:27 27 4
gpt4 key购买 nike

我正在尝试从屏幕上删除首选项,以便在用户使用高于 2.2 的 SDK 时不可见。我找到了几个答案,说 getPreferenceScreen().removePreference(thePreference) 会起作用,但每次尝试都会返回 FALSE。我在错误的地方使用它吗?我的代码有什么线索吗?

public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {

private static final String POLLING_PREFERENCE = "update_frequency_list";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);

// Get a reference to the preferences
mPollPref = getPreferenceScreen().findPreference(POLLING_PREFERENCE);

//If the SDK is 2.2 or greater do not display polling preferences (using C2DM instead)
if(Build.VERSION.SDK_INT > 7) {
getPreferenceScreen().removePreference(mPollPref);
}
}
....
}

最佳答案

好的,在我的案例中,问题是我的偏好被分成几类,当偏好被分类时,你不能像我们试图做的那样简单地“.removePreference”。我首先必须引用包含我要删除的偏好的类别,然后像这样从该类别中删除该偏好......

public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {  

private static final String POLLING_PREFERENCE = "update_frequency_list";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);

// Get a reference to the preferences
mPollPref = getPreferenceScreen().findPreference(POLLING_PREFERENCE);

//If the SDK is 2.2 or greater do not display polling preferences (using C2DM instead)
if(Build.VERSION.SDK_INT > 7) {
PreferenceCategory notificationsCategory = (PreferenceCategory) findPreference("notifications_category");
notificationsCategory.removePreference(mPollPref);
}
}
....
}

我认为这与使用同一个键拥有多个首选项的能力有关(以便删除正确的首选项)。不管怎样,谢谢你 Vladimir 一直支持我。没有你,绝对找不到答案。

关于android - 如何从屏幕上删除 Android 偏好设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4081533/

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