18

これを実現したい:チェックボックスがオフになっているユーザーがチェックボックスをオンにすると、トーストが表示され、チェックボックスが無効になります。

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)を外部に配置しても、最初に何かを実行するものがあることを思い出せません。それから他のことです。それはスレッドですか?本当に思い出せない

4

5 に答える 5

38

「チェックされていないチェックボックスをユーザーがチェックし、トーストが表示され、チェックボックスが無効になる..」を達成したい場合は、次のコードを試してください。

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 
      }
    }    
});
于 2012-10-03T04:49:41.150 に答える
8

これを試して....

-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 
      }
    }    
});
于 2012-10-03T04:52:31.727 に答える
2

.onClickListener(View.OnClickListener)実装済みで使用してみてくださいView.OnClickListener。実装されたメソッドの本体で、CheckBox がチェックされているかどうかを確認し、それらを設定します。

于 2012-10-03T04:49:11.017 に答える
2
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
}
}

});
于 2012-10-03T04:51:00.780 に答える