当我单击“更多”时,“无线和网络”首选项屏幕显示在右侧片段上,而不是触摸“VPN”,在同一片段中打开“VPN”首选项屏幕.
我怎样才能做到这一点 ?
这是我的偏好xml
<PreferenceScreen androID:title="Title A"> <PreferenceScreen androID:title="Title B"> <Preferencecategory androID:title="category"> <ListPreference androID:key="List" androID:title="List" androID:entrIEs="@array/List_vals" androID:entryValues="@array/List_vals1" androID:defaultValue="1" androID:dialogtitle="List Title" androID:negativebuttonText="cancel" /> </Preferencecategory> </PreferenceScreen></PreferenceScreen>
问题是我不希望在整个屏幕上加载带有标题B的嵌套首选项屏幕我只想加载到正确的片段…
注意:到目前为止,我使用此文档创建了我的示例http://developer.android.com/guide/topics/ui/settings.html#PreferenceHeaders
编辑*
这是我的活动
public class SettingsActivity extends PreferenceActivity { @OverrIDe public voID onBuildheaders(List<header> target) { loadheadersFromresource(R.xml.preference_headers,target); }}
我没有布局,所以我怎么知道我的主片段ID是什么,我的细节片段ID是什么?
解决方法 简短示例,定义PreferenceActivity,并为主要类别提供头文件:类设置活动:
public class SettingsActivity extends PreferenceActivity { @OverrIDe public voID onBuildheaders(List<header> target) { super.onBuildheaders(target); loadheadersFromresource(R.xml.headers,target); }}
文件/res/xml/headers.xml:
<?xml version="1.0" enCoding="utf-8"?><preference-headers xmlns:androID="http://schemas.androID.com/apk/res/androID"> <header androID:title="Preference header" androID:fragment="com.example.SettingsDemo.PrefFragment"/></preference-headers>
创建一个在上面的androID:fragment中引用的PreferenceFragment,提供自己的首选项文件:
class PrefFragment:
public class PrefFragment extends PreferenceFragment { @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromresource(R.xml.prefs); }}
文件/res/xml/prefs.xml:
<?xml version="1.0" enCoding="utf-8"?><PreferenceScreen xmlns:androID="http://schemas.androID.com/apk/res/androID"> <Preferencecategory androID:title="Preferences"> <SwitchPreference androID:title="Preference" /> <PreferenceScreen androID:title="Sub Preferences" androID:fragment="com.example.SettingsDemo.SubPrefFragment"/> </Preferencecategory></PreferenceScreen>
在上面的androID:fragment中引用创建一个子PreferenceFragment,也提供自己的首选项文件:
SubPrefFragment类:
public class SubPrefFragment extends PreferenceFragment { @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromresource(R.xml.sub_prefs); }}
文件/res/xml/sub_prefs.xml:
<?xml version="1.0" enCoding="utf-8"?><PreferenceScreen xmlns:androID="http://schemas.androID.com/apk/res/androID"> <Preferencecategory androID:title="Sub Preferences"> <CheckBoxPreference androID:title="Sub Preference"/> </Preferencecategory></PreferenceScreen>
而已. PreferenceActivity将自动显示所有子片段.
结果:
主要偏好片段:
替换为子PreferenceFragment,在相同的标题下:
总结以上是内存溢出为你收集整理的android – 如何在细节PreferenceFragment中加载相同的屏幕首选项全部内容,希望文章能够帮你解决android – 如何在细节PreferenceFragment中加载相同的屏幕首选项所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)