2014-03-25 41 views
0
public class SecondScreenActivity extends Activity { 
public void OnCreate(Bundle savedInstanceState){ 
    setContentView(R.layout.screen2); 
    super.onCreate(savedInstanceState); 


    Button button1 = (Button) findViewById(R.id.button1); 

     button1.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View arg0) { 
      TextView counter; 
      Intent i = getIntent(); 
      String gender = i.getStringExtra("gender"); 
      counter = (TextView) findViewById(R.id.textView23); 
       int caloriesBurned = 0; int caloriesConsumed = 0; 
       EditText consumedE; 
       EditText burnedE; 
       String test1, test2; 
       test1 = getString(R.id.txtBurned); 
       test2 = getString(R.id.txtConsumed); 
       try { 
        if (test1 != "" && test2 != "") { 
         burnedE = (EditText) findViewById(R.id.txtBurned); 
         caloriesBurned = Integer.parseInt(burnedE.getText().toString().trim()); 
         consumedE = (EditText) findViewById(R.id.txtConsumed); 
         caloriesConsumed = Integer.parseInt(consumedE.getText().toString().trim()); 

        if(gender.contains("Male") && caloriesConsumed - caloriesBurned > 2000){ 
         counter.setText("You are over your GDA of calories"); 
        } 
        else{ 
         counter.setText("You're a"); 
        } 
        } 
       } catch (Exception e) { 
        System.out.println(e); 
       } 
      } 
     }); 
} 

}當活動切換到此屏幕時,它爲什麼只是進入黑屏?

我很困惑,因爲我已經離開了一段時間和它交換活動,並可以交換回原來的,不是黑色的屏幕活動它不加載時間。有任何想法嗎? super.onCreate後

+0

getIntent()解析爲什麼? – ucsunil

回答

1

嘗試設置的setContentView()。

編輯:

您還需要做些什麼邁克建議。也就是說,你的onCreate方法應該以小寫字母「O」開頭。由於代碼是當前的,你的onCreate方法沒有被調用,但是如果你正確地重命名了方法,你仍然會得到黑屏,因爲在調用super.onCreate()之後需要調用setContentView。

我也通過你的代碼的其餘看了你 - 你真的應該移動UI初始化代碼中的onClick監聽器之外:

public class MyActivity extends Activity 
{ 
    private TextView counter; 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.screen2); 
     counter = (TextView) findViewById(R.id.myTextView); 

     Button button1 = (Button) findViewById(R.id.button1); 
     button1.setOnClickListener(new View.OnClickListener() 
     { 

     } 
    } 

} 

這樣一來,這些元素只需要初始化一次,不每次按鈕被點擊。它還使代碼更易於閱讀。

相關問題