android中如何判斷edittext中資料為空白?,androidedittext

來源:互聯網
上載者:User

android中如何判斷edittext中資料為空白?,androidedittext

  今天寫了一個簡單的記憶便箋小程式,但是卻發現在判斷添加資料不可為空的時候,自己的代碼總是不起作用。

 String titleStr = addtitle.getText().toString(); String contentStr = addcontent.getText().toString();         if (titleStr == null && contentStr == null) {            Toast.makeText(this, "不能添加一個空資料", Toast.LENGTH_SHORT).show();        } else if (titleStr == null) {            Toast.makeText(this, "請添加標題", Toast.LENGTH_SHORT).show();        } else {            DataUtils.addFile(titleStr, contentStr, this);            Toast.makeText(this, "添加成功", Toast.LENGTH_SHORT).show();        }

不行~~~

改進後:

        if (titleStr == "" && contentStr == "") {            Toast.makeText(this, "不能添加一個空資料", Toast.LENGTH_SHORT).show();        } else if (titleStr == "") {            Toast.makeText(this, "請添加標題", Toast.LENGTH_SHORT).show();        } else {            DataUtils.addFile(titleStr, contentStr, this);            Toast.makeText(this, "添加成功", Toast.LENGTH_SHORT).show();        }

依然不行

上網搜集了一些資料,原來不止我遇到了這個問題呀~~~~解決方案粘貼如下:

在android中 TextUtils.isEmpty()和equals()方法的用法

  對於一個UI介面中,當判斷使用者是否輸入使用者名稱或密碼時,我們常用TextUtils.isEmpty()方法來判斷;但有時也可以用這個equals()方法,都可以來判斷EditText中是否為空白,但有時很糾結,不知道這兩種方法中哪個比較好?為什嗎?請哪位知道的大俠詳細協助解答一下,菜鳥成分感謝!

  仔細讀官方的API: Returns true if the string is null or 0-length. 意思好像就是看參數是否為空白或0長度。因為你從EditText返回的是一個變數。如果這個變數本身為null值,那麼你掉它的equals方法是要報錯的。但是如果你調用TextUtils.isEmpty() 把這個變數作為參數傳進去。只要這個參數為空白或者為“”,都會返回真。所以,用官方給的更加嚴謹。而且。也十分方便。因為你單獨去判斷你還不是要寫一個if語句判斷。返回的還是一個boolean值,為何別人鋪好的路不走呢?

TextUtils.isEmpty(str)與str.isEmpty()有區別嗎?哪個更好?請寫出原因

  就返回結果的情況來看,有一個區別,就是當 str 是空(null)或空串(”“)時 TextUtils.isEmpty(str) 返回 true,否則返回 false。而當空(null)時 str.isEmpty() 會null 指標異常。

  就效率上來看, str.isEmpty() 要比 TextUtils.isEmpty() 快,因為如果看官方源碼的話可以發現 TextUtils.isEmpty() 判斷了兩步,先判斷 == null,再判斷 .length == 0。而前者只判斷 .length == 0。

  從結構上上看,TextUtils.isEmpty(str) 是一個靜態方法,而 str.isEmpty() 是 String 類的對象所擁有的方法。

感恩:
TextUtils類的常用方法isEmpty與equals
http://www.eoeandroid.com/thread-323960-1-1.html

_____________________________對不起,請原諒我,謝謝你,我愛你

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.