我想加载一个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很新,所以请耐心等待。
答案 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);
}