2016-07-13 28 views
-2

私はEditTextButtonを持っています。EditTextに値があるかどうかを確認するにはどうすればよいですか?

ButtonをクリックしたときにEditTextが空白になったらいいですか?私は、 "数字を入力してください"のように、メッセージをトーストとして表示したい。

+1

コードの例を見ることができますか? – christopher

+2

重複した質問:http://stackoverflow.com/questions/6290531/check-if-edittext-is-empty – Nico

答えて

1

使用これはあなたのボタンのクリックで:onClickListener(中

EditText editText = (EditText) view.findViewById(EditTextID); 
    if(editText.getText().toString().length()==0) { 
    Toast alert = Toast.makeText(context, toast_message, Toast.LENGTH_SHORT); 
    alert.show(); 
    } 
0

)ボタンの:

int length = editText.getText().length(); 
if(length == 0) 
{ 
    Toast.makeText(getActivity(), "Please enter a number",Toast.LENGTH_LONG).show(); 
} 
+0

非常に非常にあなたの助けに感謝します。 –

+0

問題ありません!それが正しい/有用であると分かった場合は、その答えを受け入れてください。 –

2

あなたはこのような何かを行うことができます。

boolean hasValue = editText.getText().length() > 0; 

boolean hasValue = !editText.getText().toString().isEmpty(); 

か確認してくださいそれだけでスペースを含まないようにする:

boolean hasValue = !editText.getText().toString().trim().isEmpty(); 
1

これを行うためのクリーンな方法は、私は、これはクリーンな方法であると言う理由があるためであるTextUtils.isEmpty(editText.getText()) です:

  • CharSequenceStringの間の無意味な変換は避けてください。オブジェクトを作成します。 editText.getText()Editableを返します。toString()を呼び出すと、不適切な追加オブジェクトが作成されます。このメソッドは、私の経験ではnullも返しません。
  • nulllengthがあります。 TextUtils.isEmpty()のコードを見ると、CharSequencenullで長さがゼロであるかどうかが基本的にチェックされます。
  • コードの重複を避け、同じメソッドをStringまたはCharSequenceオブジェクトで使用でき、EditableCharSequenceの実装です。
  • これはAndroidフレームワークの一部として提供されています。

トリムされた文字列の長さをチェックしたい場合。次に使用:

TextUtils.isEmpty(editText.getText()) 
      && TextUtils.getTrimmedLength(editText.getText()) == 0 

をしたい場合は、あなたが繰り返しあなたのコード内でこのような長い条件を追加する必要はありませんので、これを行うために、独自のユーティリティメソッドを作成することができます。

お客様のEditTextOnFocusChangeListenerを添付して、値の変更を確認します。または、TextWatcherまたはその両方の要件は、要件の重要度によって異なります。フィールドにフォーカスがあって失われている場合は、OnFocusChangeListenerで確認してください。フィールドにフォーカスがあり、ユーザーがコンテンツを入力して削除するか、コンテンツが短すぎる場合は、TextWatcherを使用してお知らせください。

0

あなたはおそらくすでにあなたの答えを見つけましたが、ここで答えを見つけることを望んでここに来たもののためにそのを行う方法です:

あなたはボタンの機能]をクリックして最初にStringオブジェクトまたはintオブジェクトを作成する必要がありますあなたもToastを使用することができます

@Override 
    public void onClick(View view) { 
    String numberValue; 
        numberValue = yourEditText.getText().toString(); 
        if (emailEtValue.matches("")){ 
         Snackbar sbEmptyValue = Snackbar.make(view, "You must enter an Integer Value", Snackbar.LENGTH_LONG); 
         sbEmptyValue.show(); 
        } else { 
         //DO THE THING YOU WANT 
        } 
} 

が、そのクーラーよりToastので、私はスナックバーを好む:これを書いてください。

関連する問題