2010-05-07 3 views

답변

62

다른 가능성은 없습니다.

getText, infact는 null을 반환하지 않습니다. 내용이 비어있을 수있는 CharSequence을 반환합니다. getText().length() == 0

+3

CharSequence는 인터페이스를 구현하는 일부 클래스에 대한 객체 참조입니다. API 구현자가 getText에서 null을 반환하는 것을 막지는 않습니다.이 경우 getText(). length는 NPE를 발생시킵니다. –

+1

글쎄, getText에 의해 리턴 된 CharSequence 인스턴스는 결코 null이 아니다. 그래서 내 관찰. –

+0

이것은 나를 위해 작동하지 않습니다. 나는 약 20 TextViews 활동에 있습니다. 첫 번째 단계에서는 일부 값을 설정하고 다른 값은 그대로 유지합니다. 모든 것을 반복 할 때 getText(). length() == 0이면 텍스트를 '0'으로 설정하고, 하나를 제외하고는 모두 '0'으로 덮어 씁니다 (둘 이상이 있다고 보장됩니다. 나는 그것을 '0'으로 덮어 쓰는 것으로 테스트했다.). '... toString(). equals ("")'을 테스트하면 똑같이됩니다. 무엇이 이것을 일으킬 수 있습니까? –

4

이 작동합니다 :이 작업을 수행하려고했던, 그래서 만약

if(mEditText.getText().toString().equals("")) { 
    // stuff to run when it's empty 
} 

를 비어의 경우에도, gettext에()는 여전히 편집 가능한을 반환합니다 가장 확실하게 작동하지 않았습니다.

6

TextUtils.isEmpty (mEditText.getText(). toString())를 사용할 수 있습니다. empty/null의 경우는 true를 돌려줍니다.

+1

null을 반환하면 말한 것을 수행하는'NullPointerException'가 발생합니다. 어쨌든 @MasterGaurav와 마찬가지로, 기본 EditText는 결코 null을 반환하지 않는다. –