Android在Login和MainActivity之间切换

时间:2013-07-17 15:43:07

标签: android

我有2项活动。 MainActivity

public class MainActivity extends SherlockFragmentActivity{

    private SharedPreferences settings;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        settings = getPreferences(0);

        if (settings.getBoolean("firstStart", true)) {
            Intent i = new Intent(getApplicationContext(), LoginActivity.class);
            startActivity(i);
            finish();
        }
        }
}

LoginActivity,仅在App首次启动时调用。它调用saveClass()方法:

private void saveClass() {
        SharedPreferences preferences = getPreferences(0);
        SharedPreferences.Editor editor = preferences.edit();

        editor.putBoolean("firstStart", false);

        editor.commit();

        Toast.makeText(LoginActivity.this, R.string.toast_login_success, Toast.LENGTH_SHORT).show();

        Intent i = new Intent(getApplicationContext(), MainActivity.class);
        startActivity(i);
        finish();
    }

现在问题是:

始终启动LoginActivity。所以我猜有偏好的东西不能正常工作。 我犯了什么错误或者我该怎么做才能使用此代码?

1 个答案:

答案 0 :(得分:1)

而不是使用getPreferences尝试使用

PreferenceManager.getDefaultSharedPreferences(context);