我正在创建一个需要先设置一些设置的应用 在开始显示活动之前。 我希望该应用程序检查是否存在首选项文件(包含这些设置),如果确实存在,请移至a 特定活动或保留在主要活动中(作为设置 活动是我的主要活动。)
我尝试在启动时使用startactivty(),但它显示了设置 菜单只需几分之一秒,然后再转到显示屏 活性。
我该怎么办?
我尝试了以下代码:
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SharedPreferences prefsfile = getSharedPreferences("myfile",0);
if( prefsfile!=null & Timetablledisplay.flag==0){
Intent i=new Intent(ProjectBunkitActivity.this,Timetablledisplay.class);
startActivity(i);
}
答案 0 :(得分:2)
{{1>} LAUNCHER
Activity
来startActivity()
Activity
finish()
onCreate()
setContentView()
Activity
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences prefs = getSharedPreferences("myFile", 0);
if(prefs != null && ActivityOne.flag == 0) {
Intent i = new Intent(this, ActivityOne.class);
startActivity(i);
} else {
Intent i = new Intent(this, ActivityTwo.class);
startActivity(i);
}
finish();
}
{{1}}在需要时调用{{1}}之前。这样,新的{{1}}将在“幕后”启动,然后尝试对任何布局进行充气。
{{1}}
答案 1 :(得分:1)
针对此问题的潜在解决方法的选项将采用略有不同的方法:
您可以从一个只决定要启动哪个活动的空白活动开始,而不是启动到“设置”,然后决定是否转到“时间表显示”活动。
活动可能是这样的:
super.onCreate(savedInstanceState);
SharedPreferences prefsfile = getSharedPreferences("myfile",0);
if( prefsfile!=null && Timetablledisplay.flag==0){
Intent i=new Intent(CURRENT.this,Timetablledisplay.class);
startActivity(i);
finish();
}
else
{
Intent i=new Intent(CURRENT.this,ProjectBunkitActivity.class);
startActivity(i);
finish();
}