是否可以在不显示PreferenceScreen的情况下显示DialogPreference?

时间:2010-06-21 10:04:46

标签: android dialog preferences

我正在为Android编写一个动态壁纸,它有一个PreferenceScreen,目前只包含一个首选项 - 一个DialogPreference,用于设置各种动画属性。

目前配置它的用户工作流程如下所示: 设置... => (显示只有一个标题的首选项列表)动画速度=> MyDialogPreference

我想要的是像这样制作工作流程: 设置... => MyDialogPreference

即。我正在寻找一种方法来跳过显示只有一个项目的首选项列表并立即显示该对话框。

但似乎PreferenceActivity要求自己将PreferenceScreen作为首选项层次结构的根元素。那么......甚至可以做我想做的事情吗? :)

代码参考:

活动代码:

public class ForestLakePreferences extends PreferenceActivity
{
    protected void onCreate(Bundle savedState)
    {
        super.onCreate(savedState);
        getPreferenceManager().setSharedPreferencesName(
                ForestLakeWallpaper.PREFS_NAME);
        addPreferencesFromResource(R.xml.preferences);
    }
}

Prefs资源:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:key="lake_preferences">
    <DurationEditDialog
            android:title="@string/prefs_duration_title"
            android:dialogTitle="@string/configure_durations_dlg_title"
            android:dialogLayout="@xml/set_durations_layout" />
</PreferenceScreen>

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

DialogPreference有一个showDialog(Bundle state)方法,尝试调用它。我不确定你是否必须提供其他任何东西,如首选项或任何东西。