我的活动设置中有一个lispreference,它由默认样式显示,类似于对话框视图。
相反,我希望它在活动中像常规列表视图一样显示:(如此图片:http://cdn4.staztic.com/cdn/screenshot/meteogram-weather-847838-0.jpg)
我正在考虑两种方法来实现这一目标:
扩展首选项并调用扩展首选项的setIntent()方法,然后启动包含listview的活动,并将所选选项存储在SharedPrefs中。
自定义ListPreference的外观并使其看起来像一个常规活动,但我没有找到如何做到这一点
对此的任何想法都将不胜感激
-
胺
答案 0 :(得分:0)
我遇到了很多麻烦,我终于放弃了。通过我自己的主题扩展holo.light主题我可以改变它(例如复选框标记是橙色)但我无法获得更改颜色的listpreference。你可以在这个themes.xml中找到它应该如何完成
答案 1 :(得分:0)
最后我使用以下XML(R.xml.prefs_location)来完成它:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<Preference
android:key="someKey"
android:summary="Some text"
android:title="Location"
/>
</PreferenceScreen>
在PreferenceFragment类中,我设置了在单击首选项时打开所需活动的意图:
Public class FragLocationPref extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs_location);
Intent i = new Intent(this.getActivity().getBaseContext(), LocationChooseActivity.class);
findPreference("someKey").setIntent(i);
}
}