当用户从设置中选择选项时,我必须将一个文本更改为另一个文本,例如,当用户从选项中选择它时,我必须将公里更改为英里。当我选择它时,我必须将公里数更改为英里认为的应用程序,如果有人知道该怎么做,请帮助我?
问问题
178 次
2 回答
2
为方便起见,在全局范围内声明这些:
SharedPreferences sharedPrefs;
Editor editor;
private static final String PRIVATE_PREF = "current_selection";
然后在onCreate()
or 它是等价的:
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 的更多信息
于 2013-04-24T09:17:27.180 回答
0
在 MainActivity(或其他地方)中声明一个静态字符串。
class MainActivity {
public static String distance = "kilometer";
}
您可以从任何地方更改字符串
MainActivity.distance = "miles";
然后,您可以在整个应用程序中使用距离字符串。
于 2013-04-24T09:12:22.453 回答