打开应用程序并将数据存储到首选项时如何进行提示编辑文本对话框?

时间:2012-10-23 14:21:38

标签: android dialog preference

我已阅读了很多文章,但所有文章都要设置首选项屏幕,然后点击首选项,说出编辑文本,然后提示编辑文本对话框。现在我只想要一个对话框,提示首次创建应用程序并将输入数据存储到首选项。在这种情况下我可以使用DialogPreference吗?

2 个答案:

答案 0 :(得分:0)

是的,当然你可以......首先,在你的活动的创造中创建 -

boolean firstrun = getSharedPreferences("PREFERENCE", MODE_PRIVATE).getBoolean("firstrun", true); 

然后检查 -

if (firstrun) {
//Call HERE your showDialog, for example...
 showDialog(DIALOG_TEXT_ENTRY1);
} 

最后一次 - 只是通过......覆盖onCreateDialog -

 @Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    //main title
    case DIALOG_TEXT_ENTRY1:
         LayoutInflater factorymain = LayoutInflater.from(this);
         final View textEntryViewMain = factorymain.inflate(R.layout.main_title_dialog, null);  
.................
............ 

通过如上所示的Layoutinflater,您可以显示任何您想要的任何editText对象的布局....

答案 1 :(得分:0)

在获取“真实”值后,不要忘记在首选项中保存“第一次”标记:

SharedPreferences prefs = getSharedPreferences("PREFERENCE", MODE_PRIVATE);
boolean firstrun = prefs.getBoolean("firstrun", true);

if (firstrun) {
  SharedPreferences.Editor editor = prefs.edit()
  editor.putBoolean("firstrun", false);
  editor.apply();

  //Call HERE your showDialog, for example...
  showDialog(DIALOG_TEXT_ENTRY1);
}

所以你不会总是得到一个“真实”的价值。 BTW,是将所有常量作为静态最终属性的最佳实践,因此您不会将更改拼错为“firstrun”,例如。