我有这个简单的代码,但我不知道为什么它会崩溃应用程序。
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);
要查看崩溃是否因某种原因存在,aaand看起来就像是。
有人可以帮我吗?我将非常感激。
答案 0 :(得分:2)
dahBox = (CheckBox)findViewById(R.id.someCheck);
setContentView(R.layout.main);
将声明重新排列为
setContentView(R.layout.main);
dahBox = (CheckBox)findViewById(R.id.someCheck);
您必须首先设置视图然后使用其资源