选中后禁用checkbox,android

我想要实现这一点:用户检查未选中的checkbox,显示一个toast,checkbox然后变为禁用..

male.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(CompoundButton arg0, boolean isChecked) { // TODO Auto-generated method stub if (isChecked){ Toast.makeText(CheckBoxTuts.this, "male" , Toast.LENGTH_SHORT).show(); male.setChecked(false); } } }); 

输出失败,因为它们在同一时间执行,即使我把male.setChecked(false)放在外面..我不记得有什么东西可以运行第一个东西,然后是其他东西..它是线程吗? 真的不记得了

  • RecyclerView中的select模式?
  • 如何设置checkbox边框颜色
  • 如果你想实现:“用户检查未选中的checkbox,显示一个toast,checkbox然后变为禁用…”,你应该尝试这个代码:

     male.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(CompoundButton arg0, boolean isChecked) { if (isChecked){ Toast.makeText(CheckBoxTuts.this, "male" , Toast.LENGTH_SHORT).show(); male.setEnabled(false); // disable checkbox } } }); 

    尝试这个….

    CheckBox上使用setEnabled(false)

     male.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(CompoundButton arg0, boolean isChecked) { if (isChecked){ Toast.makeText(CheckBoxTuts.this, "male" , Toast.LENGTH_SHORT).show(); male.setEnabled(false); // Will Disable checkbox } } }); 
     male.setOnCheckedChangeListener(new OnCheckedChangeListener(){ @Override public void onCheckedChanged(CompoundButton arg0, boolean isChecked) { // TODO Auto-generated method stub if (isChecked){ Toast.makeText(CheckBoxTuts.this, "male" , Toast.LENGTH_SHORT).show(); //male.setVisibility(View.GONE);//disappear your check box male.setEnabled(false);//disable your check box } } }); 

    尝试使用.onClickListener(View.OnClickListener)和实现的View.OnClickListener 。 在实现方法的主体中,您将检查CheckBox是否被选中并设置它们。

    首先,将CheckBox注册到OnCheckedChangeListener。

     chk.setOnCheckedChangeListener(this); 

    然后,覆盖它的方法

      @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { if (chk.isChecked()) { chk.setEnabled(false); } }