选中后禁用复选框,android

cgp*_*.17 15 android android-checkbox

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

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);

   }
    }

       });
Run Code Online (Sandbox Code Playgroud)

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

Hir*_*ral 32

如果你想实现:"用户检查未选中的复选框,显示一个toast,复选框然后变为禁用..",你应该尝试这个代码:

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


Kum*_*tra 7

试试这个....

-使用setEnabled(false)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);   // Will Disable checkbox 
      }
    }    
});
Run Code Online (Sandbox Code Playgroud)