0

当用户从设置中选择选项时,我必须将一个文本更改为另一个文本,例如,当用户从选项中选择它时,我必须将公里更改为英里。当我选择它时,我必须将公里数更改为英里认为的应用程序,如果有人知道该怎么做,请帮助我?

4

2 回答 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 回答