私のアプリケーションでは、ユーザーが初めてアプリを開くときに、初期ユーザー設定が必要です。彼は、アプリケーションの実行方法を決定する初期設定を行うことができるはずです。このために、sharedPreferences を使用しています。私がしていることは、ブール値が「true」か「false」かによって contentView を設定するだけです。しかし、私が持っている質問は、setContentView() の後に何が起こるかに関するものです。
//Variables
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//creating sharedpref file
PREFS_NAME = "MyPrefsFile";
shPref = getSharedPreferences(PREFS_NAME, 0);
shPref.edit().putBoolean("my_first_time", true).commit();
//checking if app's being launched for first time
if(shPref.getBoolean("my_first_time", true)) {
setContentView(R.layout.page_one);
//setting the shPref as false
shPref.edit().putBoolean("my_first_time", false).commit();
}
//checking if app has been launched before
else if(shPref.getBoolean("my_first_time", false) && shprefchecker == 1) {
setContentView(R.layout.home_page);
}
}
したがって、shPref を false に設定する前に、ユーザーがセットアップを完了するのを待ちます。この行「setContentView(R.layout.page_one);」でレイアウトが変更されると、自動的にshPrefがfalseに設定されると思います。ユーザーが初期設定を完了するまでアプリが何もしないようにします (初期設定の最初のレイアウトは page_one.xml です)。
ややこしいかもしれませんが、どうすればよいでしょうか?助けてください。すべての回答をお待ちしております。ありがとう!