2017-03-25 7 views
1

私はActivtyにいくつかのEditTextを持っており、フォームを送信する前にユーザに入力を正しく欲しい。どうやってそれをすることができますか? 私はスピナーとラジオグループボタンも持っています。すべての検証は、さらにプロセスを行う、その後満たす場合AndroidのEditTextにユーザが何かを入力するようにする

+0

"入力を正しく入力する"とはどういう意味ですか? editTextが空であるかどうかチェックしますか? – tahsinRupam

+0

それはいくつかの特定の長さを持つ必要があります空ではないことができます –

+0

ミスバアフマド、私の答えを確認してください。 – tahsinRupam

答えて

1

あなたはボタンのクリックを提出の上検証を追加することができます。

private boolean validateFields() { 
    int yourDesiredLength = 5; 
    if (yourEditText1.getText().length() < yourDesiredLength) { 
     yourEditText1.setError("Your Input is Invalid");   
     return false; 
    }else if (yourEditText2.getText().length() < yourDesiredLength) { 
     yourEditText1.setError("Your Input is Invalid");   
     return false; 
    } 
    else{ 
     return true; 
    } 

には、ボタンをクリックして送信:

btnSubmit.setOnclickListener(new View.OnClickListener){ 
    @Override 
     public void onClick(View v) { 
      if(validateFields()){ 
       // Then Submit 
      } 
     } 
}); 

出力は次のようになります。写真Credit

enter image description here

は、この情報がお役に立てば幸いです。

1

button.setOnClickListner

にEDITTEXTし、他のすべてのコンポーネントの検証を適用します。

のEditText検証のためのような

Send_button.setOnClickListener(new View.OnClickListener(){ 

        @Override 
        public void onClick(View v) { 
if(edit.getText.equals("")) 
{ 
    edit.setError("Please provide user name") 
} 
else 
{ 
    //do your further activity 
} 
     } 
       }); 
+0

私はこれを試しましたが、SubmitTextボタンが押される前にエラーを検出したいEditTextを複数持っています。 –

+0

あなたのコード画面を共有してください。正確に私はあなたの問題が何であるかを知ることができます@Misbah Ahmad –

1

これを試してみてください:コード

私は前にボタンを提出するエラーを検出したいがEditext

使用setOnFocusChangeListener()を押します

editText1 = (EditText) findViewById(R.id.editText1); 

editText1.setOnFocusChangeListener(new OnFocusChangeListener() { 
@Override 
public void onFocusChange(View v, boolean hasFocus) { 
    String value = editText1.getText().toString(); 
     if(value.length() == 0) { 
      //editext is empty 
      if(! hasFocus){ 
       editText1.requestFocus(); 
       getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 
       Toast.makeText(MainActivity.this, "Enter value correctly", Toast.LENGTH_SHORT).show(); 
      } 
     } 
    } 
}); 
0

私はあなたのポイントを取得し、あなたのxmlレイアウト定義

TextInputLayout代わりののEditTextを使用することができます。そして、あなたがあなたのボタンクリックリスナー内でヘルパーメソッドを使用することができます

<android.support.design.widget.TextInputLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="8dp" 
      android:layout_marginBottom="8dp"> 
      <EditText android:id="@+id/input_password" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:inputType="textPassword" 
       android:hint="Password"/> 
     </android.support.design.widget.TextInputLayout> 

をすべてのeditTextの入力データを検証する

public boolean validate() { 
     boolean valid = true; 
     if (password.isEmpty() || password.length() < 6) { 
      _passwordText.setError("Password is too short !"); 
      valid = false; 
     } else { 
      _passwordText.setError(null); 
     } 

     return valid; 
    } 
Creating a Login Screen Using TextInputLayout

それは、ユーザーが無効なデータを入力した場合には、この警告が表示されますこと のようになります:

は、この例を参照してください

compile 'com.android.support:design:25.1.1' 

設計サポートライブラリの依存関係を追加することを忘れないでください赤い線 enter image description here

関連する問題