2012-10-30 16 views
7

मेरे एंड्रॉइड ऐप में मेरे दो रेडियो बटन और 5 चेकबॉक्स हैं। और एक सेव बटन भी। जब उपयोगकर्ता सहेजें बटन क्लिक करता है तो मुझे उपयोगकर्ता द्वारा चेक किए गए चेकबॉक्स को अनचेक करने की आवश्यकता होती है। मैंने निम्नलिखित कोड के साथ प्रयास किया है। लेकिन यह काम नहीं कर रहा है।चेक किए गए एंड्रॉइड चेकबॉक्स को अनचेक करने के लिए कैसे करें

if (chkOthers.isChecked()) 
    chkOthers.setChecked(false); 
    chkOthers.setSelected(false); 
} 
+1

उस स्निपेट का संदर्भ क्या है? उपयोगी होने के लिए यह बहुत छोटा है। – Tim

+1

ऐसा करें, अगर (chkOthers.is चेक()) { chkOthers.performClick(); } यह चेकबॉक्स पर सामान्य क्लिक ऑपरेशन करेगा, जो ऑनक्लिकलिस्टर() भी करेगा, तो इसे बुद्धिमानी से उपयोग करें – Hardik4560

उत्तर

4

आप इस के लिए चेक बॉक्स का उपयोग करना चाहते हैं, तो आप दोनों चेक बॉक्स पर एक onItemClickListener सेट और onItemClick() विधि में अन्य का चयन रद्द करने की जरूरत है सकते हैं। एक उदाहरण इस तरह होगी: -

CheckBox cb1,cb2; 
//Considering you can initialize the above variables 
cb1.setOnCheckedChangeListener(new OnCheckedChangeListener{ 
    onCheckedChanged (CompoundButton view, boolean isChecked){ 
     cb2.setChecked(false); 
    } 
}); 
cb2.setOnCheckedChangeListener(new OnCheckedChangeListener{ 
    onCheckedChanged (CompoundButton view, boolean isChecked){ 
     cb1.setChecked(false); 
    } 
}); 

मैं सुझाव है कि आप इस व्यवहार के लिए रेडियो बटन का उपयोग करना चाहिए, क्योंकि वे शुरू से ही में बनाया गया यह कार्यक्षमता के साथ आते हैं।

10

चेक किए गए लोगों को अनचेक करने के लिए बस क्लिक करें chk1.toggle() पर क्लिक करें।

public class TestCheckBoxActivity extends Activity { 
    /** Called when the activity is first created. */ 
    CheckBox chk1, chk2; 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     chk1 = (CheckBox)findViewById(R.id.checkBox1); 
     chk2 = (CheckBox)findViewById(R.id.checkBox2); 

     Button btn = (Button)findViewById(R.id.button1); 

     btn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      if(chk1.isChecked()){ 
       chk1.toggle(); 
      } 

      if(chk2.isChecked()){ 
       chk2.toggle(); 
      } 

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