2012-05-30 217 views
-1

我正在申請註冊程序。這些字段是「徽章id(用戶名)」和「密鑰(密碼)」。在流程開始時,我將從共享首選項中設置這兩個輸入值。我希望這兩個值適用於我的應用程序。當我們試圖給出接下來的兩個值(或編輯這個值)顯示一個像「徽章已經採取,」嘗試'進入這裏!'「」 我怎麼能實現這些?Android共享偏好

Toast.makeText(getApplicationContext(), "Badge already taken.Try 'Enter Here !'", Toast.LENGTH_LONG).show(); 
+0

你有什麼麻煩? –

+0

我想通過編輯來防止共享偏好內存。我的意思是我只想要在第一個註冊時間內輸入的值。 –

回答

1

您可以使用SharedPreferences.contains(String key)來測試你的共享偏好是否已經存儲了用戶名或密碼。

我會建議您不要向用戶抱怨更改名稱或密碼,而是簡單地禁用或消除允許用戶進行更改的任何UI元素。

例如,你可以做這樣的事情在onCreate

SharedPreferences prefs = PreferenceManager 
    .getDefaultSharedPreferences(getContext()); 
if (prefs.contains(KEY_USERNAME)) { 
    // name (and password, presumably) already stored 
    // disable/hide appropriate UI elements 
} else { 
    // no user name stored 
    // enable/show elements that allow user to make changes 
} 

你甚至可以決定基於上述邏輯調用setContentView使用一個完全不同的佈局。

+0

如何在用戶編輯已設置的用戶名和密碼時爲其留言?請幫助我解決這個問題......如何禁用/隱藏適當的UI元素 –

+0

@DipinKG - 您在問題中發佈的代碼應該很好地完成。然而,我建議你設計你的用戶界面,這樣用戶就沒有機會去做任何你不想發生的事情。例如,如果您禁用或隱藏用戶名字段(或將其替換爲不可編輯的字段),則用戶將無法首先編輯名稱,並且您不需要彈出Toast 。 –

+0

我如何禁用/隱藏適當的UI元素? –