2

问题

  1. 将进行注册的活动将仅显示一次
  2. 注册后,控件应移至下一个主要活动

我使用了以下代码

下面的代码不符合我的要求?

任何帮助将不胜感激!!

注册活动中的代码

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    SharedPreferences.Editor editor=prefs.edit();
    editor.putBoolean("registration", true);
    editor.commit();

主要活动中的代码

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
    boolean regComplete =prefs.getBoolean("registration", false);
    SharedPreferences.Editor editor =prefs.edit();
    editor.putBoolean("registration", false);

    editor.commit();

    if(regComplete)
    {
       startActivity(new Intent(this, SecureXActivity.class));
    } else 
    {
       startActivity(new Intent(this, LoginActivity.class));

   }
4

2 回答 2

3

只需输入您的注册码SecureXActivity.class

并在之前检查注册setContentView(),如果没有完成,则启动LoginActivity.class

并在LoginActivity.class注册完成后放入这些代码,

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor=prefs.edit();
editor.putBoolean("registration", true);
editor.commit();

如果您使用这种方法,那么我认为您不需要Main Activity class..

请记住,这一切都是在您的应用程序首次运行时完成的,而不是在安装时完成的。

于 2012-07-26T13:15:41.140 回答
1

注册活动应该是这样的:

public class RegistrationActivity extends Activity {

    public static SharedPreferences pref;
    public static final String PREFS_NAME = "MyPrefsFile";

    public void onCreate(Bundle savedInstanceState) {

            pref = getSharedPreferences(PREFS_NAME, 0);
                        boolean regComplete =prefs.getBoolean("registration", false);
                        if(regComplete){
                        //go to main class
                        }else{
                        //stay in the registration class
                        }
}
}

主类应该是:

public class MainActivity extends Activity {

    public void onCreate(Bundle savedInstanceState) {

    RegistrationActivity.pref = getSharedPreferences(PREFS_NAME, 0);
    SharedPreferences.Editor editor = settings.edit();

    editor.putBoolean("registration", true);
        // Commit the edits!
    editor.commit();
}
}
于 2012-07-26T13:22:05.253 回答