Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何获得与变量相关的首选项?_Android_Arrays_Menu_Settings_Preferences - Fatal编程技术网

Android 如何获得与变量相关的首选项?

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计算器应用程序)。我来举一个例子。。。重量会起作用的


这取决于你的体重,它会影响你的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”