2012-03-06 2 views
2

응용 프로그램이 시작할 때 두 개의 XML 파일 중에서 선택해야합니다. 즉 onCreate()에서 파일을 선택하고 싶습니다.이 가능합니까?

예를 들어, 앱이 열릴 때 배터리 상태를 읽는 중입니다. 예를 들어 경고 메시지 나 앱 시작 활동을 표시해야하는 레벨이 적 으면. 이게 가능할까요? 어떤 방법이 있으면 도움을받을 수 있습니까?

내 코드

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); 
     } 
    } 

나는 그것이 작동하지 않습니다 확인하기 위해 온 클릭 부분을 주석

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(); 

      //} 
     //}); 

    } 
} 

내 SDcard.class!

//in onCreate 
if (somecondition) { 
    setContentView(R.layout.first); 
} 
else { 
    setContentView(R.layout.second); 
} 

그러나 당신이 그런 경우에 다른 기능을 제공하는 경우, 조건에 따라 서로 다른 활동을 시작하는 것이 좋습니다되지 않을 것 :

답변

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

.. 묻는 것입니다. 지금은 (레벨 <10), 내가 다른 활동을 열면 다른이 거기에 없을거야 setContentView() ??? 권리??? – jxgn

+0

의견을 말하지 않았습니까? – MByD

+0

예를 들어 보겠습니다. 아래의 형식을 고려하십시오. 이게 효과가 있니? isSDCard = android.os.Environment.getExternalStorageState(). equals (android.os.Environment.MEDIA_MOUNTED); super.onCreate (savedInstanceState); (isSDCard) { \t 의도 batIntent = 새로운 의도 \t startActivity (batIntent); } setContentView (R.layout.main); – jxgn

0

당신은 내가이 희망

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

처럼 할 수있는 당신이 좋아 그 방법 또한 내가 할 수

+0

if 문 내에서 활동을 열 수 있습니까? 인 텐트를 활성화 할 터치 이벤트가 발생 했습니까 ???? – jxgn

+0

예 setContentView (R.layout.지도); (-) 배터리 레벨 위한 //이 코드 \t \t 경우 (레벨 <10) { \t \t \t 마무리(); \t \t} else { \t \t \t 의도 의도 = 새로운 의도 (OfflineMapActivity.this, RatingActivity.class); \t \t \t startActivity (인 텐트); \t \t} –

관련 문제