我可以在警告对话框中充气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
答案 0 :(得分:2)
我认为不可能在这样的PreferenceScreen
之外使用PreferenceActivity
......但这里有几个选择:
1)使用Activity
中的样式将Manifest
显示为对话框:
<activity
android:name=".MyPrefsActivity"
android:label=""
android:theme="@android:style/Theme.Dialog">
</activity>
2)使用当前的AlertDialog
,但使用您自己的自定义布局对其进行充气,该布局具有与PreferenceScreen
相同的功能。然后,您必须手动管理首选项的获取和设置。
3)只需使用PreferenceActivity
个PreferenceDialog
。这可能与您想要的不一样,但使用PreferenceActivity
将为您节省大量手动处理所有首选项的工作。