AndroidX偏好库中的DropDownPreferences在API < 24上不起作用。
创始人
2024-10-12 18:00:49
0

在API < 24上,DropDownPreferences在AndroidX偏好库中不起作用的解决方法是使用PreferenceCompat类来替代DropDownPreferences。

下面是一个使用PreferenceCompat类的示例代码:

首先,确保你的应用已经迁移到AndroidX库。在build.gradle文件中添加以下依赖项:

implementation 'androidx.preference:preference:1.1.1'

然后,在你的PreferenceFragment或PreferenceActivity中,使用PreferenceCompat类来创建和管理DropDownPreferences。下面是一个PreferenceFragment的示例代码:

import androidx.preference.DropDownPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
import androidx.preference.PreferenceCompat;

public class MyPreferenceFragment extends PreferenceFragmentCompat {
  
  @Override
  public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
    setPreferencesFromResource(R.xml.preferences, rootKey);
    
    // 使用PreferenceCompat类来获取DropDownPreference
    PreferenceCompat dropdownPref = findPreference("dropdown_preference_key");
    
    // 设置DropDownPreference的选项
    CharSequence[] entries = {"Option 1", "Option 2", "Option 3"};
    CharSequence[] entryValues = {"1", "2", "3"};
    dropdownPref.setEntries(entries);
    dropdownPref.setEntryValues(entryValues);
    
    // 设置DropDownPreference的默认值
    String defaultValue = "1";
    String currentValue = PreferenceManager.getDefaultSharedPreferences(getContext())
        .getString(dropdownPref.getKey(), defaultValue);
    dropdownPref.setValue(currentValue);
    
    // 设置DropDownPreference的监听器
    dropdownPref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
      @Override
      public boolean onPreferenceChange(Preference preference, Object newValue) {
        // 处理DropDownPreference的值改变事件
        String value = (String) newValue;
        // ...
        return true;
      }
    });
  }
}

这样,你就可以在API < 24的设备上使用PreferenceCompat类来实现DropDownPreferences的功能了。

相关内容

热门资讯

透视代打!德普之星透视辅助软件... 透视代打!德普之星透视辅助软件是真的吗,德普之星辅助器(透视)真是有挂(新版有挂)-哔哩哔哩1、用户...
近期!微信小程序辅助器脚本,佛... 近期!微信小程序辅助器脚本,佛手大菠萝有挂吗,策略教程(有挂细节)-哔哩哔哩微信小程序辅助器脚本透视...
透视透视!德普之星透视,德普之... 透视透视!德普之星透视,德普之星私人局辅助器(透视)一直有挂(有挂方法)-哔哩哔哩1、下载好德普之星...
今日!免费辅助神器app,微信... 今日!免费辅助神器app,微信小程序微乐怎么才能发好牌,机巧教程(有挂秘诀)-哔哩哔哩进入游戏-大厅...
透视玄学!德普辅助软件,德普之... 透视玄学!德普辅助软件,德普之星私人局透视(透视)好像存在有挂(有挂透明挂)-哔哩哔哩1、完成德普之...
目前来看!微乐小程序辅助多少钱... 目前来看!微乐小程序辅助多少钱,金虎爷有挂吗,阶段教程(确实有挂)-哔哩哔哩1、任何微乐小程序辅助多...
据悉!菜鸟黑桃a3透视,财神1... 据悉!菜鸟黑桃a3透视,财神13辅助包最新版本更新内容详解,演示教程(有挂分析)-哔哩哔哩1、超多福...
透视ai!德普之星辅助工具如何... 透视ai!德普之星辅助工具如何设置,德普之星有透视辅助吗(透视)都是真的有挂(有挂秘笈)-哔哩哔哩进...
事发当天!wpk透视辅助方法,... 事发当天!wpk透视辅助方法,微信小程序雀神辅助器,演示教程(有挂方式)-哔哩哔哩1、打开软件启动之...
透视插件!德扑圈有透视吗,德普... 透视插件!德扑圈有透视吗,德普之星透视软件免费入口官网(透视)好像存在有挂(的确有挂)-哔哩哔哩1、...