Android - 如何隐藏 PreferenceFragment 中的控件

标签 android

在我的首选项 UI 中,我需要根据特定条件隐藏首选项。

public class MyFragment extends PreferenceFragment {
  public void onCreate(Bundle state) {
    addPreferencesFromResource(...);
    ListPreference myList = (ListPreference) findPreference("myid");

    ...
    if (condition) {
      // hide myList
    }
 }

我似乎无法在 ListPreference 或 PreferenceFragment 上找到任何方法来隐藏它不在 UI 中显示。如果您能指出正确的方向,我将不胜感激。

最佳答案

经过多次调试,发现其实很简单。这是您需要做的:

首先,获取商品所属的PreferenceCategory。接下来,只需对其调用 removePreference。

 PreferenceCategory myCategory = (PreferenceCategory) findPreference("myPrefCategory");
 myCategory.removePreference(myList);

关于Android - 如何隐藏 PreferenceFragment 中的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21470776/

相关文章:

java - ActionBar 中的后退按钮 NullPointerException

android - Android 2.2 上的 Bitmap.createBitmap() 问题

android - 来自 C#/.NET 服务的 Google Play Android Developer API - (400) 错误请求

android - 在抽屉打开之前捕获事件?

android - 如何获取另一个尚未开始的 Activity 的上下文?

java - getLayoutPosition() 和 getAdapterPosition() 有什么区别?

android - 将图像而不是字符串标题添加到 react-native-segmented-control-tab

android - 如何提取或解压 .ab 文件(Android 备份文件)

android - Flutter 应用程序崩溃使用 i18n Jetbrains 插件的样板构建具有多语言的 AppBar

java - 在 Android 中将位图保存到文件中