项目中需要记忆用户上次操作的设置项(Preference),也就是不通过Preference的逐级选择找到最终的Preference,解决方案:

需要启动的是PreferenceScreen,Demo如下:

PreferenceScreen ps = (PreferenceScreen) this.getPreferenceScreen().getPreference(2);//2应该是一个全局变量,记录用户上次操作的索引
this.setPreferenceScreen(ps);

也可以用Dialog进行显示,Demo如下:

PreferenceScreen ps = (PreferenceScreen) this.getPreferenceScreen().getPreference(2);
ListAdapter adapter = ps.getRootAdapter();
ListView lv = new ListView(this);
lv.setAdapter(adapter);
Dialog dialog  = new Dialog(this);
dialog.setContentView(lv);
dialog.show();

相关文章: