0

遵循新的 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根据用户的选择更改 a 的摘要。没有为类findPreference()定义方法,那么如何访问所需的首选项?Activity

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

4

1 回答 1

1

您可以这样做,而不是new PrefsFragment()在替换片段的语句中做对。

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

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

然后在你的 PreferenceFragment 你创建一个公共方法,你可以改变你想要的

pf.changeMyPreference();
于 2013-07-31T19:49:22.767 回答