当用户从设置中选择选项时,我必须用另一个文本更改一个文本,例如 当用户从选项中选择公里时,我必须将千米更改为英里。而当我选择它 我必须改变里程进入迈尔斯认为应用程序,请帮助我,如果有人知道 怎么做?
答案 0 :(得分:2)
为方便起见,全局声明这些:
SharedPreferences sharedPrefs;
Editor editor;
private static final String PRIVATE_PREF = "current_selection";
然后在onCreate()
或它的等价物:
sharedPrefs = getApplicationContext().getSharedPreferences(PRIVATE_PREF, Context.MODE_PRIVATE);
// SET THE DEFAULT VALUE
editor = sharedPrefs.edit();
editor.putString("value", "kilometers");
// DONT SKIP THIS STEP
editor.commit();
最后,无论您何时需要检查当前选定值中的哪一个(公里/英里):
String strSetting = sharedPrefs.getString("value", null);
现在,您可以使用String strSetting
检查设置的值,然后运行相应的代码。我假设它可能与转换有关。
注意:如果您在另一个Activity
中使用上述(检索),则需要再次实例化这一点:
SharedPreferences sharedPrefs = getApplicationContext().getSharedPreferences(PRIVATE_PREF, Context.MODE_PRIVATE);
String strSetting = sharedPrefs.getString("value", null);
只要您想要更改设置,只需使用第一段代码即可。例如,如果您从公里数变为英里数:
// SET THE A NEW VALUE
editor = sharedPrefs.edit();
editor.putString("value", "miles");
// DONT SKIP THIS STEP
editor.commit();
您可以阅读有关SharedPreferences here
的更多信息答案 1 :(得分:0)
在MainActivity(或其他地方)中声明一个静态String。
class MainActivity {
public static String distance = "kilometer";
}
您可以使用
从任意位置更改字符串MainActivity.distance = "miles";
然后你可以使用你的应用程序的距离String。