2012-03-06 39 views
2

我想在应用程序启动时选择两个xml文件,即onCreate()。在onCreate()两个xml文件之间进行选择,可能吗?

例如说,应用程序打开时,我读的电池状态,如果不到一定程度,我应该显示警告信息或应用程序的启动活动。这是可行的吗?如果有任何方法,我可以得到一些帮助吗?

我的代码

isSDCard = android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); 
     super.onCreate(savedInstanceState); 

     if(isSDCard) 
     { 
      Intent intent = new Intent(Activity.this,SDcard.class); 
      startActivity(intent); 
      finish(); 
      //setContentView(R.layout.missing_sd); 
     } 
     else{ 

      //Intent intent = new Intent(this,ImageSelection.class);  
      //startActivity(intent); 
     // finish(); 
      setContentView(R.layout.image_menu); 
     } 
    } 

我SDcard.class

public class SDcard extends Activity { 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.missing_sd); 
     // Button inserted_card = (Button) findViewById(R.id.button_insert); 
     // inserted_card.setOnClickListener(new OnClickListener() { 

      //public void onClick(View v) { 
      // Toast.makeText(getApplicationContext(), "Card Inserted!!!", Toast.LENGTH_SHORT).show(); 

      //} 
     //}); 

    } 
} 

我评论的onclick部分,以确保它不工作!

回答

4

是的,这是可能的,例如:

​​

但是,如果你在这样的情况下提供不同的功能,岂不是更好地开始根据条件不同的活动?

例如:

//in onCreate 
if (somecondition) { 
    Intent i = new Intent(this, FirstActivity.class); 
    startActivity(i); 
} 
else { 
    Intent i = new Intent(this, SecondActivity.class); 
    startActivity(i); 
} 
+0

确定这种方式还我可以。现在在if(级别<10),我打开一个活动别的然后在这里不会是setContentView()???对??? – jxgn 2012-03-06 10:14:26

+0

没有经过您的评论,您可以改述吗? – MByD 2012-03-06 10:15:13

+0

我举个例子。考虑下面的格式。这项工作? isSDCard = android.os.Environment.getExternalStorageState()。equals(android.os.Environment.MEDIA_MOUNTED); super.onCreate(savedInstanceState); if(isSDCard) { \t Intent batIntent = new Intent(this,SDcard.class); \t startActivity(batIntent); } setContentView(R.layout.main); – jxgn 2012-03-06 10:31:36

0

,你可以做这样的

if (level < 10) { 
     // navigate or finish(); 
    }else{ 
     // Do nothing 
    } 

我希望这是,你问什么..

+0

我可以在if语句中打开一个活动吗?因为有触摸事件来激活意图? – jxgn 2012-03-06 11:29:12

+0

是的,你可以像这样setContentView(R.layout。地图); ( - )对电池电平 //代码 \t \t如果(水平<10){ \t \t \t光洁度(); \t \t} else { \t \t \t Intent intent = new Intent(OfflineMapActivity.this,RatingActivity.class); \t \t \t startActivity(intent); \t \t} – 2012-03-07 07:21:01

相关问题