2012-02-08 16 views
2

PreferenceFragmentsを使用してタブレットアプリ(Android 3.0以降)のPreferenceActivityを作成しています。目標は、システム環境設定が表示されているのと同じように、環境設定を表示する2ペインのレイアウトを持つことです。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

あなたがここに示した内容はうまくいくようですが、それはすべてではありません。 code hereDevice Admin exampleを見て私は私のアプリで同じテクニックを使用し、それは素晴らしい作品です。

+0

ありがとう@Maxim。ここでスタイリングの問題もありました。私が裸の骨に落としたとき、それは働き始めた。 – gyoda

関連する問題