如果某些条件满足,则在启动时启动备用活动

时间:2012-06-26 12:58:55

标签: android android-activity oncreate

  • 我正在创建一个需要先设置一些设置的应用 在开始显示活动之前。            我希望该应用程序检查是否存在首选项文件(包含这些设置),如果确实存在,请移至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);
            }
    

2 个答案:

答案 0 :(得分:2)

{{1>} LAUNCHER ActivitystartActivity() 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();
    }