2012-03-06 42 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

相關問題