![](/img/trans.png)
[英]How to force sub PreferenceScreen to be contained in Fragment layout (Android)
[英]SharedPreferences sub PreferenceScreen with custom fragment class
我有一個帶有子PreferenceScreen的PreferenceScreen:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="SOUND">
<PreferenceScreen android:title="Sound Options"
android:fragment="com.test.SoundPreferenceFragment">
</PreferenceScreen>
</PreferenceCategory>
...
子首選項是PreferenceFragment的自定義實現
public class SoundPreferencesFragment extends PreferenceFragment implements
OnSharedPreferenceChangeListener {
...
我想知道我應該如何開始自定義片段。 在我的主要活動中,我這樣做:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content, settingsPreference).commit();
}
這很適合啟動我的主設置首選項屏幕。
然后,我重寫:
@Override
public boolean onPreferenceStartFragment(PreferenceFragment fragment, Preference preference) {
getFragmentManager().beginTransaction().replace(android.R.id.content, new SoundPreferenceFragment()).commit();
return true;
}
這似乎可行,但我有幾個問題。
編輯:
我還嘗試在我的主要活動中不要擴展'onPreferenceStartFragment',希望android能夠正確啟動新的首選項。'似乎確實在啟動新的PreferenceFragment,但它在主首選項UI上方覆蓋了UI。
您必須創建一個新活動並附加SoundPreferencesFragment。 當您在主設置活動中選擇項目時,啟動新活動
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.