警报对话框中的首选项活动

时间:2012-02-22 13:27:08

标签: java android alertdialog android-preferences preferencescreen

我可以在警告对话框中充气PreferenceScreen吗?

这是我尝试过的:

final LayoutInflater factory = LayoutInflater.from(this);
final View myDialog = factory.inflate(R.xml.prefScr, null);
final Dialog dialog = new AlertDialog.Builder(this)
    .setTitle("This is Dialog")
    .setView(myDialog)
    .create();

这给了我例外:

android.view.InflateException: Binary XML file line #2: Error inflating class PreferenceScreen

1 个答案:

答案 0 :(得分:2)

我认为不可能在这样的PreferenceScreen之外使用PreferenceActivity ......但这里有几个选择:

1)使用Activity中的样式将Manifest显示为对话框:

<activity
    android:name=".MyPrefsActivity"
    android:label=""
    android:theme="@android:style/Theme.Dialog">
</activity>

2)使用当前的AlertDialog,但使用您自己的自定义布局对其进行充气,该布局具有与PreferenceScreen相同的功能。然后,您必须手动管理首选项的获取和设置。

3)只需使用PreferenceActivityPreferenceDialog。这可能与您想要的不一样,但使用PreferenceActivity将为您节省大量手动处理所有首选项的工作。