नहीं है नहीं null
getText().toString();
हालांकि edittext ही null
किया जा सकता है , EditText.getText()
कभी भी null
लौटाता है। एक तरीका यह सत्यापित करने के लिए EditText.getText()
के लिए Android स्रोत कोड की जांच करने के लिए है:
EditText.java शो:
public Editable getText() {
return (Editable) super.getText();
}
EditText extends TextView
के बाद से, super.getText()
करने के लिए कॉल TextView.getText()
होना चाहिए। अब हम यह क्या देता है देखने के लिए TextView.getText()
पर चलते:
TextView.java शो:
public CharSequence getText() {
return mText;
}
अब हम जानना चाहते हैं कि mText
कभी अशक्त हो सकता है की जरूरत है।
TextView.java स्रोत की गहन जानकारी के हम देखते हैं कि mText
TextView
निर्माता में कोई रिक्त स्ट्रिंग के रूप में आरंभ नहीं हो जाता:
public TextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
mText = "";
…
}
एक बार जब हम कि EditText
निर्माता कॉल TextView
निर्माता देखें:
public EditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
हम सुरक्षित रूप से निष्कर्ष निकाल सकते हैं कि EditText.getText()
कभी भी null
वापस नहीं लौटा सकता है, क्योंकि जैसे ही EditText
constru है cted, mText
को खाली स्ट्रिंग का मान दिया जाता है।
हालांकि, के रूप में StinePike ने कहा, EditText.getText()
संभवतः एक एनपीई पैदा कर सकता है अगर आपके EditText null
है जब यह getText()
करने के लिए कॉल करता है।
स्रोत
2014-01-10 16:20:32
अपने कोड के पिछले ... – morroko
स्ट्रिंग एस = edittext.getText()। ToString(); अगर (एस! = शून्य) सच वापसी; –
मेरा सवाल है, EditText.getText() कभी वापस शून्य हो जाएगा? आपके कोड @tsp के परिणामस्वरूप एनपीई उस मामले में होगा। – AppleGrew