2
我正在使用PreferenceFragments爲平板電腦應用(Android 3.0+)創建PreferenceActivity。目標是使雙窗格佈局顯示喜好,就像顯示系統首選項一樣。如何讓Android PreferenceFragment標題/標題顯示在右側窗格中?
我遇到的問題是,我無法爲我的生活似乎獲得當前選定的PreferenceFragment的標題顯示在右側窗格中PreferenceFragment的ListView上方。這裏是我想要做的一個例子
這裏是我的preference_headers.xml文件(試圖顯示紅色框中的內容。):
<?xml version="1.0" encoding="utf-8"?>
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
<header android:fragment="com.mycompany.mobile.preferences.MyPreferencesActivityHC$GeneralSettingsPreferenceFragment"
android:title="General Settings">
</header>
<header android:fragment="com.mycompany.mobile.preferences.MyPreferencesActivityHC$PhotoOptionsPreferenceFragment"
android:title="Photo Settings"
android:summary="Testing photo settings">
</header>
</preference-headers>
這裏是代碼MyPreferencesActivity.java
package com.mycompany.mobile.preferences;
import java.util.List;
import android.content.Intent;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
import com.mycompany.mobile.R;
public class MyPreferencesActivityHC extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(R.string.taskCaptionSettings);
}
@Override
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.preference_headers, target);
}
public static class GeneralSettingsPreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.general_settings_preferences);
}
}
public static class PhotoOptionsPreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.photo_options_preferences);
}
}
}
謝謝@Maxim。這裏還有一個造型問題。當我把它放到骨頭上時,它開始工作。 – gyoda 2012-02-10 20:45:01