根据pref加载意图

时间:2016-01-21 20:45:52

标签: java android

我想加载一个pref值,然后决定是否在intent中加载活动A或活动B.

这样的事情:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean pref1 = prefs.getBoolean("pref1", true);

// Pseudocode
if (pref1) {
      class nextScreen = aActivity.class;
} else {
      class nextScreen = bActivity.class;
}

Intent goToMainActivity = new Intent(this, nextScreen);

我对android和java很新,所以请耐心等待。

1 个答案:

答案 0 :(得分:1)

通常,要在条件之外使用variable,您需要在输入条件之前声明

type variable; // declaration
if (condition) {
    variable = value1; // assign a specific value
else {
    variable = value2; // assign an other value
}
// use 'variable' with the value setted

因此,您可以在条件之后的Intent中使用它。然后,为了在您的案例中使用意图,您需要知道第二个元素的类型是什么。在您提供的此示例中,它是Class object,使用的方法是public Intent(Context packageContext, Class<?> cls) 因此,应该很容易:

Class nextScreen = null;
if (pref1) {
  nextScreen = aActivity.class;
} else {
  nextScreen = bActivity.class;
}

if (nextScreen != null) {
    Intent goToNextActivity = new Intent(this, nextScreen);
}