我创建了扩展preferenceActivity 的活动。在该活动中,我打开了显示项目列表的自定义对话框。每当我单击 listview 中的项目时,对话框都会关闭。那时我想将所选项目存储在 SharedPreference 中,以便在应用程序范围内获取该项目。
但我的问题是如何将所选项目存储在 SharedPreference 中?
当我下次打开我的应用程序时,我应该能够检索以前选择的项目。
这是我的 PreferenceActivity 代码:
public class SettingsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener
{
SharedPreferences myprefs;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.settings);
addPreferencesFromResource(R.xml.prefs);
PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this);
Preference prefereces=findPreference("alertdialog_Font_Style");
prefereces.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
// TODO Auto-generated method stub
DialogFontStyle objdialog = new DialogFontStyle(SettingsActivity.this,R.style.CustomDialogTheme);
objdialog.show();
return true;
}
});
}
这是我的对话课程:
public class DialogFontStyle extends Dialog {
public DialogFontStyle(Context context, int theme) {
super(context, theme);
// TODO Auto-generated constructor stub
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.dialog_layout);
final String[] sizeType = new String[] {"a" , "b" , "c" , "d"};
final ListView lst = (ListView)findViewById(android.R.id.list);
ArrayAdapter<String> adapter = new ArrayAdapter<String> (context,android.R.layout.simple_list_item_1,sizeType);
lst.setAdapter(adapter);
lst.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
dismiss();
}
});
}
}
请给我一些解决方案以将数据存储在 sharedpreference 中。谢谢。