2012-05-30 46 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元素? –