1

我可以在警报对话框中膨胀 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
4

1 回答 1

2

我认为不可能使用这样的PreferenceScreen外部PreferenceActivity...但这里有一些替代方案:

1)使用您的样式使Activity显示为对话框Manifest

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

2)AlertDialog按您当前的方式使用 an,但使用您自己的自定义布局来扩展它,该布局与您具有相同的功能PreferenceScreen。然后,您将不得不手动管理首选项的获取和设置。

3)只需将 aPreferenceActivity与它自己的PreferenceDialog. 这可能与您想要的并不完全相同,但使用 aPreferenceActivity将为您节省大量手动处理所有首选项的工作。

于 2012-02-22T15:13:56.983 回答