我正在使用int来设置我的应用程序的背景设置屏幕。它在当前活动中运行得很好。但是一旦我离开活动,int值就会丢失,背景也不会改变。
我想做什么:我想从我的设置活动中保存int,然后将其导入我的其他活动并检查int“bak”是否等于null,“bg”, “bg1”或“bg2”。
我听说过sharedPreferences但从来没有让它工作过。这就是我开新线程的原因。
答案 0 :(得分:4)
好的,添加这些全局变量
SharedPreferences data;
public static String filename = "whateveryou want";
在onCreate中初始化
data = getSharedPreferences(filename, 0);
然后添加内容,使用此功能,"key"
是唯一的描述符,name
是您要存储的变量名称
SharedPreferences.Editor editor = data.edit();
editor.putInt("key", name);
editor.commit();
按此访问它,如果没有首选项,default
就是您希望分配变量的内容。
intVariable = data.getInt("key", default);
编辑:
我注意到你想使用字母,例如bg1等。要做到这一点,你需要使用一个String,或者使用一个带有switch case或多个if语句的int。这是一个可以修改的开关案例。只需确保在后面的开关案例语句访问前一个代码块中的SharedPreference。
switch (integerVariable){
case 1: // if the intagerVariable = 1, notice the : not a ;
// set background to BG1
break;
case 2: // if the intagerVariable = 2, notice the : not a ;
// set background to BG2
break;
}
根据需要添加尽可能多的案例陈述。