【发布时间】:2014-04-21 12:50:23
【问题描述】:
我有许多需要设置的首选项,我想通过弹出单独的首选项对话框(ListPreference、EditTextPreference 等)来引导用户完成流程,一次一个,以便我可以创建一个向导风格的用户界面。
当用户填写一个首选项时,它会关闭并打开下一个。
据我所知,用户必须单击首选项才能弹出对话框。
有没有办法以编程方式做到这一点?
【问题讨论】:
我有许多需要设置的首选项,我想通过弹出单独的首选项对话框(ListPreference、EditTextPreference 等)来引导用户完成流程,一次一个,以便我可以创建一个向导风格的用户界面。
当用户填写一个首选项时,它会关闭并打开下一个。
据我所知,用户必须单击首选项才能弹出对话框。
有没有办法以编程方式做到这一点?
【问题讨论】:
您可以使用onItemClick 来执行对preference 项目的点击。
从偏好顺序中获取偏好位置。
int position = findPreference("language").getOrder();
language 是偏好键。
然后,在带有位置的preference 项目上执行onItemClick。
getPreferenceScreen().onItemClick(null,null,position,0);
【讨论】:
http://developer.android.com/reference/android/preference/PreferenceScreen.html#onItemClick(android.widget.AdapterView, android.view.View, int, long)