Android设置应用程序的对话框集
当用户第一次加载我的Android应用程序时,我想经历几个设置应用程序的阶段Android设置应用程序的对话框集,android,dialog,Android,Dialog,当用户第一次加载我的Android应用程序时,我想经历几个设置应用程序的阶段 基本上我只想要一组从一个步骤到下一个步骤的对话,但我不知道最好的方法 我为我的应用程序实现了类似的解决方案。我在首选项中放置了一个面包屑,表示这是应用程序第一次运行。我有一个向用户显示的“主页”活动。在onCreate中,我通过查看此首选项值来检查用户以前是否运行过应用程序 @Override protected void onCreate(Bundle savedInstanceState) { if(thi
基本上我只想要一组从一个步骤到下一个步骤的对话,但我不知道最好的方法 我为我的应用程序实现了类似的解决方案。我在首选项中放置了一个面包屑,表示这是应用程序第一次运行。我有一个向用户显示的“主页”活动。在onCreate中,我通过查看此首选项值来检查用户以前是否运行过应用程序
@Override
protected void onCreate(Bundle savedInstanceState)
{
if(this.application.getPreferences().isFirstTimeRun())
{
startActivity(new Intent(this, WizardStepOneActivity.class));
}
else
{
startActivity(new Intent(this, MainActivity.class));
}
}
如果用户尚未运行该应用程序,我将启动一系列活动(即类似向导的活动)以设置初始设置。通过使用onActivityResult,我可以浏览设置步骤
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode)
{
case WIZARD_STEP_1:
Intent i = new Intent(this, WizardStepTwoActivity.class);
startActivityForResult(i, WIZARD_STEP_2);
break;
case WIZARD_STEP_2:
Intent i = new Intent(this, WizardStepThreeActivity.class);
startActivityForResult(i, WIZARD_STEP_3);
break;
case WIZARD_STEP_3:
//Set the breadcrumb to indicate that the user has set their preferences
this.application.setFirstTimeRunCompleted();
//Start main activity
startActivity(new Intent(this, MainActivity.class));
break;
}
}
我不确定这是否是最好的方法,但到目前为止似乎有效。显然,错误处理应该到位,以确保他们已经设置了首选项,这样就可以设置面包屑了
希望这有帮助,
Kevin检查您的SharedReferences中的设置。完成初始化后,设置该变量。很高兴知道!再次查看代码的一个想法是,在每个步骤中创建新的意图可能会阻止在向导步骤之间传递信息。我想知道您是否可以重复使用“data”参数来启动每个步骤,从而在步骤之间传递相同的意图(因此也是相同的包)。不管怎么说…很高兴你成功了!