से बूलियन मान कैसे प्राप्त करें मैंने इसे ठीक करने के विभिन्न तरीकों का प्रयास किया, लेकिन मैं इसे ठीक करने में सक्षम नहीं हूं। मैंऑब्जेक्ट
public boolean onPreferenceChange(Preference preference, Object newValue)
{
final String key = preference.getKey();
referenceKey=key;
Boolean changedValue=!(((Boolean)newValue).booleanValue()); //ClassCastException occurs here
}
:
java.lang.ClassCastException: java.lang.String नहीं हो सकता मैं एक वस्तु एक चेकबॉक्स की इस पद्धति के अंदर पारित बूलियन मान प्राप्त करने के लिए कोशिश कर रहा हूँ इसके बजाय यह कास्टिंग के java.lang.Boolean
सबसे पहले आप मान रहे हैं कि नया वैल्यू बूलियन प्रकार है। आप newValue के प्रकार की जांच करने के लिए उदाहरण का उपयोग कर सकते हैं। यदि यह ऑटोऑनबॉक्सिंग के साथ एक बुलियन है, तो आपको कोई समस्या नहीं है। यदि यह एक स्ट्रिंग है, तो आप "सत्य", "झूठी" मानों के लिए (केस को अनदेखा कर सकते हैं) की तुलना कर सकते हैं, फिर उपयुक्त बूलियन प्रतिनिधित्व बना सकते हैं। – horbags