2014-03-25 29 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() 
     { 

     } 
    } 

} 

这样一来,这些元素只需要初始化一次,不每次按钮被点击。它还使代码更易于阅读。

相关问题