一つ質問があります。edittext を最初は無効にしたい。チェックボックスをオンにした場合にのみ有効になります。何が起こっているのかというと、アプリを起動すると、チェックボックスにはチェックがありませんが、編集テキストを編集できます。edittext を無効にするには、テキスト ボックスをオンにしてからもう一度オフにする必要があります。手伝って頂けますか?
ここに私のコードがあります:
check1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
txtbox1.setEnabled(true);
} else {
txtbox1.setEnabled(false);
}
}
});
2 つの異なる編集テキストに 2 つのチェックボックスを使用する場合。2 番目のチェックボックスを押すと、アプリがクラッシュします。コードは次のとおりです。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.order);
txtbox1= (EditText) findViewById(R.id.editText1);
button1 = (Button) findViewById(R.id.button1);
tv = (TextView) findViewById(R.id.editText5);
txtbox2= (EditText) findViewById(R.id.editText2);
check1 = (CheckBox)findViewById(R.id.checkcheck);
check2 = (CheckBox)findViewById(R.id.checkcheckcheck);
button1.setOnClickListener(new clicker());
check1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
txtbox1.setEnabled(true);
txtbox1.setFocusable(true);
} else {
txtbox1.setEnabled(false);
txtbox1.setFocusable(false);
}
}
});
check2.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
txtbox2.setEnabled(true);
txtbox2.setFocusable(true);
} else {
txtbox2.setEnabled(false);
txtbox2.setFocusable(false);
}
}
});
}
ログキャット: