如何检查是否在其onClick方法中检查了android复选框(以XML格式声明)?

aBh*_*jit 50 java checkbox android onclick

我在android中有一个复选框,它有以下XML:

<CheckBox
   android:id="@+id/item_check"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:onClick="itemClicked" />
Run Code Online (Sandbox Code Playgroud)

这是我的Activity类中的onClick()方法.

public void itemClicked(View v) {
  //code to check if this checkbox is checked!
}
Run Code Online (Sandbox Code Playgroud)

我知道我们可以创建一个复选框的对象并为其分配id.但是,onClick通过XML 声明方法时,是否有更好的方法来实现功能?

小智 97

试试这个:

public void itemClicked(View v) {
  //code to check if this checkbox is checked!
  CheckBox checkBox = (CheckBox)v;
  if(checkBox.isChecked()){

  }
}
Run Code Online (Sandbox Code Playgroud)


Sam*_*awy 6

这样就可以了:

  public void itemClicked(View v) {
    if (((CheckBox) v).isChecked()) {
        Toast.makeText(MyAndroidAppActivity.this,
           "Checked", Toast.LENGTH_LONG).show();
    }
  }
Run Code Online (Sandbox Code Playgroud)


Kis*_*iya 5

你可以试试这个代码:

public void itemClicked(View v) {
 //code to check if this checkbox is checked!
 if(((CheckBox)v).isChecked()){
   // code inside if
 }
}
Run Code Online (Sandbox Code Playgroud)


小智 5

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" />
Run Code Online (Sandbox Code Playgroud)

从这里开始的主要活动

   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
}
Run Code Online (Sandbox Code Playgroud)

//选中复选框

     public void checkbox_clicked(View v)
     {

         if(fee_checkbox.isChecked())
         {
            // true,do the task 

         }
         else
         {

         }

     }
Run Code Online (Sandbox Code Playgroud)