2 momo1199 Momo1199 于 2013.06.14 11:34 提问

Preference Headers不显示

使用Preference-Headers重写PreferenceActivity。但是按照步骤操作之后header没显示,白屏。

XMl:

<?xml version="1.0" encoding="utf-8"?>
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
    <preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
        <header
                android:fragment="com.mikebdev.refuel.SettingsActivity$DesignFragment"
                android:title="@string/pref_header_design"
                android:summary="@string/pref_header_design_summary"
                />
        <header
                android:fragment="com.mikebdev.refuel.SettingsActivity$SettingsFragment"
                android:title="@string/pref_header_units"
                android:summary="@string/pref_header_units_summary"/>
        <header
                android:fragment="com.mikebdev.refuel.SettingsActivity$DatabaseFragment"
                android:title="@string/pref_header_db"
                android:summary="@string/pref_header_db_summary"/>
    </preference-headers>
</preference-headers>

SettingsActivity内容:

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Environment;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.widget.Toast;

import com.google.analytics.tracking.android.EasyTracker;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

public class SettingsActivity extends PreferenceActivity {

    public static final String PREFS_NAME = "RFPref";
    public static PreferenceManager prefMgr;



    @Override
    public void onBuildHeaders(List<Header> target) {
        loadHeadersFromResource(R.xml.pref_headers, target);
    }
}

不知道哪里出问题?

3个回答

Momo1199
Momo1199   2013.06.14 16:09
已采纳

找到原因了,是冗杂的元素引起的,去掉里面的就好了。

cheetah747
cheetah747   2015.07.15 11:00

请问你是在哪里添加preference-header的???我怎么找半天找不到啊?

cj6585256
cj6585256   2013.06.14 13:53

android:fragment="com.mikebdev.refuel.SettingsActivity$DesignFragment"
android:fragment="com.mikebdev.refuel.SettingsActivity$SettingsFragment"
android:fragment="com.mikebdev.refuel.SettingsActivity$DatabaseFragment"
这几个fragment都写了吗?

Momo1199
Momo1199 谢谢您的回答,我已经找到原因了
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Preference-Header
参考链接:http://blog.csdn.net/ixiaobu/article/details/8609935 1、Preference Headers方法要点是:在主屏中通过.xml文件布局列出所有的主题设置项,而每个主题的详细设置则由各自指定的PreferenceFragment负责。 <header android:fragment="c
PreferenceActivity 分屏显示 分析
先上效果图: PreferenceActivity 设置代码如下,通过getListView 遍历视图结构,主要调整间距与背景色 package com.example.testsettings; import java.util.List; import android.os.Bundle; import android.preference.PreferenceActi
Android Settings 设置中 PreferenceActivity中,Header是如何被加载的?
----------------------------------------------------- 本文主要回答下面这个问题: Android中,Header是如何被PreferenceActivity进行加载的? -----------------------------------------------------   在Android应用程序中,我们可以在继承自P
Android PreferenceActivity点击Header是如何处理的?
1、设置源代码中点击事件处理逻辑 2、通过Action调用Settings设置应用界面的流程。 3、设置源代码中Header的注意事项
修改显示 Preference summary 里的值, 显示Manifest 里的程序版本
PreferenceCategory android:title="@string/version" > Preference android:key="appVersion" android:summary="1.3.08" /> PreferenceCategory> //获取版本号或版本名  public String get
Android Preference Summary中实时显示内容变更
在Android的Preference中,当在一个EditTextPreference中输入内容关闭之后,并不能实时看见输入的内容,这在有时候是很不方便,这是一个很常用的需求。实际上,可以通过如下的方法来实现。 public class AdvancedPreferences
PreferenceScreen设置Preference置灰显示
PreferenceScreen设置Preference置灰显示,在xml文件中必须设置以下两个属性: android:enabled    是否起作用,false则能点取,但是不作用(有焦点) android:shouldDisableView   当enabled设置为false,此属性设置为true时,preference所代表的item变暗 boolean
[android]隐藏PreferenceCategory和Preference的方法
public void removeDisplayCategory() { PreferenceCategory displayOptions = (PreferenceCategory) findPreference(CHAT_KEY_DISPLAY); getPreferenceScreen().removePreference(displayOptions);
Pro Android学习笔记(六二):Preferences(6):header
在前面的例子,我们主要学习了PreferenceScreen的xml如何写,preference有哪些类型。在代码中,我们为了不提示warning,加入了@SuppressWarnings("deprecation"),表明这是老版本的处理方式。自从Android 3.0引入fragment后,preference在实现有变化。 PreferenceActivity能够根据设备的尺寸大小不同,提
android Preference相关样式修改
首先,Preference相关的东西都是以list的形式展现给大家的,所以,修改的样式一般可以分为2类:1.listitem背景修改。2.listitem具体view修改。我们分别对下面四种情况进行分析。  1.activity继承自PreferenceActivity  1).可以通过getListView()来获取listview对象,然后设置listview的相关属性。如4.0.3的设置