首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将当前SeekBarPreference值显示为ScreenPreference

将当前SeekBarPreference值显示为ScreenPreference
EN

Stack Overflow用户
提问于 2016-05-21 12:26:10
回答 1查看 648关注 0票数 2

将SeekBarPreference的当前值显示到ScreenPreference中的好方法是什么?我试着插入文本视图,但是应用程序崩溃了。有什么建议吗?

preferences.xml

代码语言:javascript
复制
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
  <SeekBarPreference
      android:id="@+id/seekbar_pref"
      android:key="seekbar_x"
      android:title="Value"
      android:defaultValue="1"
      android:max="60"/>
  </PreferenceScreen>

Preferences.java公共类首选项扩展PreferenceActivity {

代码语言:javascript
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();
}

public static class MyPreferenceFragment extends PreferenceFragment
{
    @Override
    public void onCreate(final Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
    }
}

Main.java

代码语言:javascript
复制
private SharedPreferences.OnSharedPreferenceChangeListener preferenceChangeListener = new SharedPreferences.OnSharedPreferenceChangeListener() {
        @Override
        public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
            Log.e("SHARED",  "VAL: " + sharedPreferences.getInt("seekbar_x",10));
        }
    };
EN

回答 1

Stack Overflow用户

发布于 2016-05-21 12:43:24

onCreate方法中,在末尾(在添加首选项之后)添加这一行:

代码语言:javascript
复制
SeekBarPreference pref = (SeekBarPreference) findPreference("seekbar_pref");

然后在上面添加监听器如下:

代码语言:javascript
复制
pref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
    int value = mSeekBarPreference.getProgress(); //or (int)  newValue
    //You can now use this value wherever you like:
    pref.setSummary("Value: " + value);
    return true;
}
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37362883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档