![](/img/trans.png)
[英]Android ListPreference entry text instead of entry value from Activity or Fragment that doesn't extend PreferenceFragment
[英]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.