繁体   English   中英

更改活动的ListPreference值

[英]android - changing ListPreference value from an Activity

遵循新的API,我创建了一个非常简单的PreferenceFragment

  public class PrefsFragment extends PreferenceFragment {

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    addPreferencesFromResource(R.xml.preferences);
}

    }

我在创建的“ Activity使用它来使用户能够更改应用程序设置:

  public class SetPreferenceActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    getFragmentManager().beginTransaction()
            .replace(android.R.id.content, new PrefsFragment()).commit();

}

   }

现在,我需要根据用户的选择更改ListPreference的摘要。 没有为Activity类定义findPreference()方法, 那么如何访问所需的首选项?

抱歉,如果答案很明显,我对新API并不真正熟悉,并且在弃用之前总是使用PreferenceActivity

可以直接在替换片段的语句中执行new PrefsFragment()而不是这样做。

PreferenceFragment pFrag = new PrefsFragment();
PrefsFragment pf = (PrefsFragment)pFrag;

getFragmentManager().beginTransaction()
        .replace(android.R.id.content, pFrag).commit();

然后在您的PreferenceFragment中创建一个公共方法,您可以更改所需的内容

pf.changeMyPreference();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM