2012-10-03 19 views
10

मैं इस लक्ष्य को हासिल करना चाहते हैं: एक अनियंत्रित चेकबॉक्स पर उपयोगकर्ता की जांच, एक टोस्ट दिखाया गया, चेकबॉक्स तो को निष्क्रिय हो जाते हैं ..अक्षम करने के बाद जाँच की चेकबॉक्स, एंड्रॉयड

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

    } 
    } 

     }); 

उत्पादन में विफल रहा है, क्योंकि वे एक ही पर अमल समय, यहां तक ​​कि मैंने पुरुष को भी रखा है। बाहर चेक (झूठा) .. मुझे याद नहीं है कि कुछ पहले चलाने के लिए कुछ है, तो दूसरी बात .. क्या यह धागा है? वास्तव में

उत्तर

24

आप प्राप्त करना चाहते हैं: "एक अनियंत्रित चेकबॉक्स, एक टोस्ट दिखाया गया पर उपयोगकर्ता की जांच, चेकबॉक्स तो अक्षम हो जाते हैं ..", तो आप इस कोड का प्रयास करना चाहिए:

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 
     } 
    }  
}); 
+0

मैंने यह जांचने के लिए यूआर कोड का उपयोग किया कि क्या यह काम कर रहा है लेकिन सेट सक्षम (गलत) काम नहीं करता है। –

+0

@ErrorHandler: यह एक अवैध विधि नहीं है, तो यह कैसे काम नहीं कर सकता है? आप किस समस्या का सामना कर रहे हैं? – Hiral

+0

यह सेट किया गया है भले ही सेटएनेबल गलत है –

2

लागू .onClickListener(View.OnClickListener) का उपयोग करने का प्रयास करें। कार्यान्वित विधि के शरीर में आप जांच करेंगे कि चेकबॉक्स चेक किया गया है या नहीं और उन्हें सेट करें।

+0

वास्तव में ओह। सक्षम/अक्षम स्थिति सेट करने के लिए आपको View.setEnabled (बूलियन) का उपयोग करने की आवश्यकता है। – Pawel

+0

View.setVisibilty (int) का उपयोग कर सेट करेगा यदि घटक दिखा रहा है या नहीं। – Pawel

+0

मैंने कोशिश की, लेकिन मैं चेकबॉक्स को अनचेक करता हूं, यह टोस्ट भी दिखाता है .. –

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 
} 
} 

}); 
6

इस प्रयास करें। ...

-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 
     } 
    }  
}); 
पर setEnabled(false) का प्रयोग करें
0
public class Check extends Activity { 

    private CheckBox male; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.link); 

     male = (CheckBox) findViewById(R.id.checkBox1); 

     male.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

      private Timer t = new Timer(); 

      @Override 
      public void onCheckedChanged(CompoundButton buttonView, 
        boolean isChecked) { 
       // TODO Auto-generated method stub 
       if (isChecked) { 
        Toast.makeText(Check.this, "male", Toast.LENGTH_SHORT) 
          .show(); 
        male.setEnabled(false); // disable checkbox 
        male.setChecked(true); 
       } 

      } 

     }); 
    } 
} 
संबंधित मुद्दे