2012-02-08 56 views
2

我正在使用PreferenceFragments爲平板電腦應用(Android 3.0+)創建PreferenceActivity。目標是使雙窗格佈局顯示喜好,就像顯示系統首選項一樣。如何讓Android PreferenceFragment標題/標題顯示在右側窗格中?

我遇到的問題是,我無法爲我的生活似乎獲得當前選定的PreferenceFragment的標題顯示在右側窗格中PreferenceFragment的ListView上方。這裏是我想要做的一個例子

enter image description here 這裏是我的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); 
     } 
    } 
} 

回答

1

你在這裏展示的東西似乎很好,但那不是一切。 看看Device Admin examplecode here我在我的應用程序中使用相同的技術,它工作的很棒。

+0

謝謝@Maxim。這裏還有一個造型問題。當我把它放到骨頭上時,它開始工作。 – gyoda 2012-02-10 20:45:01

相關問題