我正在尝试为我的应用添加一些API集成,我想添加一种方法来连接或断开我的设置应用。因此,如果共享首选项中不存在令牌,则设置将显示“登录到xxx”,但如果它退出则显示“从xxx注销”。 例如:
<Preference
android:key="pref_connect_to_xxx"
android:title="login to xxx" >
/>
但如果令牌存在,我想显示
<Preference
android:key="pref_connect_to_xxx"
android:title="logout from xxx" >
/>
有关如何做到这一点的想法吗?
答案 0 :(得分:1)
如果我理解了您正在尝试做的事情,那么以下内容应该可以解决您的问题:
if (tokenAlreadySet()) {
Preference connectToXXX = (Preference) findPreference("pref_connect_to_xxx");
connectToXXX.setSummary("logout from xxx");
}
答案 1 :(得分:1)
通过按键查找首选项,以编程方式修改摘要,并根据您在SharedPreferences
中设置的令牌,在摘要中显示一个或多个文本。
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean token = prefs.getInt("token",-1) == -1?false:true;
Preference pref = (Preference) findPreference("pref_connect_to_xxx");
pref.setSummary(token?"Logout":"Login");
答案 2 :(得分:-1)
如果我理解正确,您将令牌保存到共享首选项,如果不存在,您希望将用户视为未登录?
查看有关SharedPreferences的文档:http://developer.android.com/reference/android/content/SharedPreferences.html#getString(java.lang.String,java.lang.String)
对象上的大多数get
方法(包括getString
)都有默认值。所以你可以这样做:String token = getString(tokenKey, "");
然后检查它:if(token.isEmpty())...