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
                        }
}
}

Main クラスは次のようになります。

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 に答える