0

2つのケースで設定ページを埋めるために使用を強制したい

1) ユーザーが最初にアプリケーションを起動したとき 2) データベースのバージョンが変更されたとき、続行する前に設定ページに最初に入力する必要があります

私の設定クラスでは、共有設定を「false」に設定し、以下のコードで確認します

クラス設定 //メイン クラス String flag = sharedPreferences.getString("CreatedFlag","");

     if(flag.equals("true"))
       {
            // Move to second activity
            Intent i =new Intent();
            i.setClass(someclass.this,otherPage.class );
             startActivity(i);
            finish();
       }
     else
     { // Stay on Settings page }

問題:ユーザーが最初にアプリケーションを起動し、設定ページを表示してページに入力すると正常に実行されますが、ユーザーがアプリケーションを2回目に実行すると、設定ページが再度表示されます.coz共有設定にはまだ真の値があり、ユーザーはアプリを3回目に共有設定を実行しますfalse の update 値を持ち、他のページを表示する

私が欲しいのは、設定が定義されていない場合は設定ページが1回だけ表示され、それ以外の場合はホームページに移動することです

助けが必要 、

4

1 に答える 1

0

あなたが実際に設定を保存している場所はここにはありませんが、それは otherPage アクティビティにあると思いますか??

これを最初のアクティビティに追加しない場合

SharedPreferences prefs = this.getsharedPreferences("myApp",0);
//check for the Created value in the shared preferences
String createdFlag = prefs.getString("Created","false"); // set default value == false
if(createdFlag == "false){
    goToSettingsPage(); // to the settings page we go...
}

次に、設定ページで:

SharedPreferences prefs = this.getSharedPreferences("myApp",0);
SharedPreferences.Editor ed = prefs.edit(); // create the editor
ed.putString("Created","true"); // put the value to the prefs
ed.commit(); // commit the changes

最初の実行後、共有設定ファイルは永続化され、2 回目の実行時に設定ページに移動する必要はありません。

于 2012-05-20T06:10:57.493 に答える