5

I have a problem regarding Edit Text in Android.

I have a field named Username :

I want that whenever someone writes a username with a space e.g "Gaurav Arora". Then it should raise a toast or error on the login button press.

I did in this way - I simply stopped the effect of space bar with the help of a text watcher as-

public static TextWatcher getNameTextWatcher(final TextView agrTextView) {
        TextWatcher mTextWatcherName = new TextWatcher() {
            public void onTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {
            }

            public void beforeTextChanged(CharSequence arg0, int arg1,
                    int arg2, int arg3) {
            }

            public void afterTextChanged(Editable arg0) {

                String result = agrTextView.getText().toString().replaceAll(" ", "");
                if (!agrTextView.getText().toString().equals(result)) {
                    agrTextView.setText(result);
                }

}
}

But this has not solved my purpose. I just want to implement whenever the person uses a username with space it should accept the space but on the press of login button it should raise a toast

Thanks

Gaurav Arora
  • 8,282
  • 21
  • 88
  • 143

6 Answers6

18

Just check if your edit text contains blank space or not.

Use the following code in the onClick() event of the Button.

 if (agrTextView.getText().toString().contains(" ")) {
     agrTextView.setError("No Spaces Allowed");
     Toast.makeText(MyActivity.this, "No Spaces Allowed", 5000).show();
 }
Deepzz
  • 4,573
  • 1
  • 28
  • 52
Sahil Mahajan Mj
  • 11,033
  • 8
  • 53
  • 100
8

Try this..

     btnLogin.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String result = agrTextView.getText().toString();
             if(result.contains ("\\s"))
               Toast.makeText(getApplicationContext(), "Space ", Toast.LENGTH_LONG).show();
        }
    });
Deepzz
  • 4,573
  • 1
  • 28
  • 52
4

Simply do this:

TextView.getText().toString().contains(" ");
Sahil Mahajan Mj
  • 11,033
  • 8
  • 53
  • 100
3
 String question = txtNote.getText().toString();
 if(question.trim().length() > 0){
    Log.i("LOG", "Has value");
 }else{
    Log.i("LOG", "don't has value");
   }
1

use trim() method to remove all spaces and then check for empty

if ( !edtText.getText().toString().trim().isEmpty()) {
  //the EditText is not Empty
}
  • 1
    read the question carefully before posting an irrelative answer. Also in case you haven't checked out the base steps for a helpful post , please see : [here](https://stackoverflow.com/tour) – AntJavaDev Jun 17 '17 at 21:17
0

Also you can block entering space bar in username, or can give toast or snack on entering space in username .

Can refer this link might be helpful for you Block entering space in edittext.

Let me know if any concern.

Tarit Ray
  • 944
  • 12
  • 24