2014-10-07 83 views
0

在我的应用程序中,我想显示一个对话框,用户必须填写一个电子邮件地址。对话框设置首选项摘要

当按下确定按钮时,输入的地址应该在我的PreferenceActivity中设置为摘要。

(我想改变从另一个(myDialog)活动偏好的总结。)

编辑:

builder.setPositiveButton(R.string.okay), new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     if(Utilities.isValidEmail(userEmail.getText())) { 
      //don't know how to access preference and save text as summary 
     } 
    } 
} 

解决方案:

当从对话框确定为按下:

PreferenceManager.getDefaultSharedPreferences(context).edit().putString("email", enteredMail).commit(); 

设置onCreate方法被称为:

String mail = sharedPreferences.getString("email", "no entered Mail"); 
Preference eMail = findPreference("preference_key"); 
eMail.setSummary(mail); 

回答

0

你的问题犯规使意义上的整体成交。你是否喜欢屏幕?

使用

<EditTextPreference 
     android:defaultValue="" 
     android:key="MYEMAILADDRESS" 
     android:summary="Email address of user" 
     android:title="Email" /> 

这将用户呈现一个风格(其操作系统的)输入/对他们的电子邮件对话。 点击确定后,它将保存到共享首选项。

More on preference screens

+0

我不想,用户必须改变汇总,按首选项的可能性。 当我的应用程序启动并且_Main Activity_创建时,我检查是否已经输入了电子邮件,如果没有,则显示对话框,然后地址应该设置为我的PreferenceActivity中的摘要。 – Thomas 2014-10-07 12:22:48

+0

@Thomas我不知道你的意思是“设置为摘要”。我假设你仍然保存到共享首选项。只要检查它是否存在作为一个关键,否则建立一个对话框。你在挣扎什么部分..你有什么尝试。 – Doomsknight 2014-10-07 12:46:36

+0

我想将电子邮件设置为首选项的摘要文本。 我的问题是,我不知道,我必须在Dialog类的_onClick_方法中写入什么内容,以便将输入的地址设置为首选项摘要。 – Thomas 2014-10-07 13:09:34

相关问题