2014-10-07 90 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

相關問題