我有这个简单的代码,但是我无法弄清楚为什么它会使应用程序崩溃。
package com.leonnears.android.andAnother;
import android.app.Activity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
public class AndAnotherActivity extends Activity
{
CheckBox dahBox;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
dahBox = (CheckBox)findViewById(R.id.someCheck);
setContentView(R.layout.main);
dahBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if(isChecked)
{
dahBox.setText("This checkbox is: checked");
}else
{
dahBox.setText("This checkbox is: unchecked");
}
}
});
}
}
我已经完成了测试并注释了部分代码,而
dahBox.setOnCheckedChangeListener()
的调用似乎使我的程序崩溃了。有一次,我最终做到了:dahBox.setOnCheckedChangeListener(null);
要查看坠机是否可能由于某种原因而存在,看起来像是。
有人可以帮我弄这个吗?我将不胜感激。
最佳答案
dahBox = (CheckBox)findViewById(R.id.someCheck);
setContentView(R.layout.main);
将语句重新排列为
setContentView(R.layout.main);
dahBox = (CheckBox)findViewById(R.id.someCheck);
您必须先设置视图,然后使用其资源