Android 如何获得与变量相关的首选项?
我的菜单按钮会显示一个设置选项,它会显示许多列表首选项,比如重量和各种尺寸的眼镜(这是一个BAC计算器应用程序)。我来举一个例子。。。重量会起作用的Android 如何获得与变量相关的首选项?,android,arrays,menu,settings,preferences,Android,Arrays,Menu,Settings,Preferences,我的菜单按钮会显示一个设置选项,它会显示许多列表首选项,比如重量和各种尺寸的眼镜(这是一个BAC计算器应用程序)。我来举一个例子。。。重量会起作用的 这取决于你的体重,它会影响你的BAC。我有一个整数表示重量,设置为180。我希望有人能够进入菜单设置,选择“权重”列表首选项,并在100、130、150、180、210、240、270和300之间进行选择。我已经显示了数字(所有数组都已创建),我可以选择一个,但它没有做任何事情,因为它没有与int-Weight变量链接。如何链接信息?如果使用标准首
这取决于你的体重,它会影响你的BAC。我有一个整数表示重量,设置为180。我希望有人能够进入菜单设置,选择“权重”列表首选项,并在100、130、150、180、210、240、270和300之间进行选择。我已经显示了数字(所有数组都已创建),我可以选择一个,但它没有做任何事情,因为它没有与int-Weight变量链接。如何链接信息?如果使用标准首选项活动:
public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {
// <snip>
public void onSharedPreferenceChanged(SharedPreferences pref0, String key) {
if (key.equals("weight")){
int weight = pref0.getInt("weight",100));
// <you have now weight as int!>
}
}
@Override
protected void onResume() {
super.onResume();
// Set up a listener whenever a key changes
getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}
@Override
protected void onPause() {
super.onPause();
// Unregister the listener whenever a key changes
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
}
公共类首选项扩展首选项活动在共享首选项ChangeListener上实现{
//
已更改共享首选项上的公共void(共享首选项0,字符串键){
如果(键等于(“重量”)){
int-weight=pref0.getInt(“weight”,100));
//
}
}
@凌驾
受保护的void onResume(){
super.onResume();
//每当键更改时设置侦听器
getPreferenceScreen().GetSharedReferences().RegisterOnSharedReferenceChangeListener(此);
}
@凌驾
受保护的void onPause(){
super.onPause();
//每当密钥更改时,取消注册侦听器
getPreferenceScreen().GetSharedReferences().unregisterOnSharedPreferenceChangeListener(此);
}
没有骰子。权重int仍然不是我的主类中的权重变量。然后在你的类中实现OnSharedPreferenceChangeListener,它将通过Preferences捕获权重更改。我将在类中为int-weight=?int-weight=0添加什么;然后从我的原始消息中添加所有方法。不要忘记“实现OnSharedPreferenceChangeListener”