-1

我有一个注册程序的应用程序。这些字段是“徽章 ID(用户名)”和“密钥(密码)”。在流程开始时,我将设置来自共享偏好的两个输入值。我想要这两个值用于我的应用程序。当我们尝试给出接下来的两个值(或编辑这个值)时,会显示一个像“徽章已经被拿走。尝试'在此处输入!'”这样的祝酒词,我该如何实现这些?

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

1 回答 1

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根据上述逻辑决定在调用中使用完全不同的布局。

于 2012-05-30T16:51:25.440 回答