Java 如何检查android复选框是否在其onClick方法(用XML声明)中被选中?
我在android中有一个复选框,其中包含以下XML:Java 如何检查android复选框是否在其onClick方法(用XML声明)中被选中?,java,android,checkbox,onclick,Java,Android,Checkbox,Onclick,我在android中有一个复选框,其中包含以下XML: <CheckBox android:id="@+id/item_check" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="itemClicked" /> 我知道我们可以创建复选框的对象并为其分配id。但是,当通过XML声明onClick方法时,有没有更好的方法来实现该功
<CheckBox
android:id="@+id/item_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="itemClicked" />
我知道我们可以创建复选框的对象并为其分配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();
}
}
您可以尝试以下代码:
public void itemClicked(View v) {
//code to check if this checkbox is checked!
if(((CheckBox)v).isChecked()){
// code inside if
}
}
选中复选框
显然,您必须使用复选框的id生成XML:
<CheckBox
android:id="@+id/checkbox_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your label"
/>
因此,知道复选框是否被选中的方法是:(CheckBox)yourcheck.isChecked()
如果复选框被选中,它将返回true
。((CheckBox)v).isChecked();
<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
{
}
}
@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() );
}
});
}
<CheckBox
android:id="@+id/checkbox_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your label"
/>