Androidには次のXMLのチェックボックスがあります。
<CheckBox
Android:id="@+id/item_check"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:onClick="itemClicked" />
これは、ActivityクラスのonClick()メソッドです。
public void itemClicked(View v) {
//code to check if this checkbox is checked!
}
チェックボックスのオブジェクトを作成し、それにIDを割り当てることができることを認識しています。しかし、XML経由でonClick
メソッドを宣言するときに機能を実現するより良い方法はありますか?
これを試してください:
public void itemClicked(View v) {
//code to check if this checkbox is checked!
CheckBox checkBox = (CheckBox)v;
if(checkBox.isChecked()){
}
}
これはトリックを行います:
public void itemClicked(View v) {
if (((CheckBox) v).isChecked()) {
Toast.makeText(MyAndroidAppActivity.this,
"Checked", Toast.LENGTH_LONG).show();
}
}
enter code here
<CheckBox
Android:id="@+id/checkBox1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Fees Paid Rs100:"
Android:textColor="#276ca4"
Android:checked="false"
Android:onClick="checkbox_clicked" />
ここからの主な活動
public class RegistA extends Activity {
CheckBox fee_checkbox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_regist);
fee_checkbox = (CheckBox)findViewById(R.id.checkBox1);// Fee Payment Check box
}
//チェックボックスをクリック
public void checkbox_clicked(View v)
{
if(fee_checkbox.isChecked())
{
// true,do the task
}
else
{
}
}
このコードを試すことができます:
public void itemClicked(View v) {
//code to check if this checkbox is checked!
if(((Checkbox)v).isChecked()){
// code inside if
}
}
@BindView(R.id.checkbox_id) // if you are using Butterknife
CheckBox yourCheckBox;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_activity);
yourCheckBox = (CheckBox)findViewById(R.id.checkbox_id);// If your are not using Butterknife (the traditional way)
yourCheckBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
yourObject.setYourProperty(yourCheckBox.isChecked()); //yourCheckBox.isChecked() is the method to know if the checkBox is checked
Log.d(TAG, "onClick: yourCheckBox = " + yourObject.getYourProperty() );
}
});
}
明らかに、チェックボックスのIDを使用してXMLを作成する必要があります。
<CheckBox
Android:id="@+id/checkbox_id"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Your label"
/>
したがって、チェックボックスがチェックされているかどうかを知る方法は(CheckBox) yourCheckBox.isChecked()
です。チェックボックスがチェックされている場合はtrue
を返します。