Убедитесь, что EditText пуст и ожидает ввода данных пользователем - PullRequest
1 голос
/ 07 февраля 2012

Мой макет:

1 EditText (id = etvalue1)
1 EditText (id = etvalue2)
1 Button (id = save)

Мне нужно знать, как сделать следующее с этими виджетами:

  • Если пользователь нажимает кнопку с пустым текстом редактирования, отобразить сообщение и подождать, пока пользователь введет значение.
  • Отображать сообщение до тех пор, пока пользователь не введет значение после ввода значения, чтобы ввести расчет (etvalue1 + etvalue2) и показать результат.

Ответы [ 6 ]

3 голосов
/ 07 февраля 2012

В классе активности напишите этот код в методе onCreate:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    editText1 = (EditText)findViewById(R.id.etvalue1);
    editText2 = (EditText)findViewById(R.id.etvalue2);
    button = (Button)findViewById(R.id.save);

    button.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            if(!(editText1.getText().toString().equalsIgnoreCase(""))){
                if(!(editText2.getText().toString()).equalsIgnoreCase("")){
                    addNumbers();
                } else {
                    Toast.makeText(getApplicationContext(),
                            "Enter no.", Toast.LENGTH_LONG).show();
                }
            } else {
                Toast.makeText(getApplicationContext(),
                        "Enter no.", Toast.LENGTH_LONG).show();
            }

        }

        private void addNumbers() {

        }
    });

}

}

В методе addNumbers получите значение из EditTest и делайте все, что хотите.

2 голосов
/ 07 февраля 2012

В onclicklistener для кнопки сделайте следующее

if(edit1.getText().equals("") || edit2.getText().equals(""))  
{
     //toast the error message 
     return;
}
 //calculate the result

Максимальное время для тоста - Toast.LENGTH_LONG. Если вы хотите, чтобы сообщение отображалось до тех пор, пока пользователь не введет данные в тексте редактирования, используйте текстовое представление для отображения сообщения. Установите onTextChangedListener в обоих EditTexts, чтобы проверить, изменился ли текст. в методе afterTextChanged вы можете выполнить расчет.

1 голос
/ 07 февраля 2012
if(edit1.getText().equals("") || edit2.getText().equals(""))  
{
     //toast the error message 
     Dialog dialog=new Dialog(getApplicationContext());
     LinearLayout llView=new LinearLayout(getApplicationContext());
     EditText editText1=new EditText(getApplicationContext());
     EditText editText2=new EditText(getApplicationContext());
     wsutText2.addTextChangedListener(new TextWatcher(){
        public void afterTextChanged(Editable s) {
            //do your calculations
        }
        public void beforeTextChanged(CharSequence s, int start, int count, int after){}
        public void onTextChanged(CharSequence s, int start, int before, int count){}
    }); 

    editText2.addTextChangedListener(new TextWatcher(){
        public void afterTextChanged(Editable s) {
            //do your calculations
        }
        public void beforeTextChanged(CharSequence s, int start, int count, int after){}
        public void onTextChanged(CharSequence s, int start, int before, int count){}
    }); 
llView.addView(editText1);
llView.addView(editText2);
dialog.setContentView(llView);
dialog.show();
     return;
}
0 голосов
/ 07 февраля 2012
if(edit1.getText().equals("") || edit1.getText().equals(null))  {
    //toast the message 
} else {
    //calculate the result
}
0 голосов
/ 07 февраля 2012

Вы можете использовать код ниже, чтобы определить, является ли EditText пустым:

String sEdit1 = Edit1.getText().toString();

if (sEdit1.matches(""))
        {
            Toast.makeText(getBaseContext(), "EditText is empty", Toast.LENGTH_SHORT).show();     
            return;
        }
0 голосов
/ 07 февраля 2012

Если вы хотите определить, когда пользователь вводит значения в edittext, вам нужно использовать события для наблюдения изменений, как в Подсчет символов в EditText Changed Listener

Прочтите соответствующие методы в справочнике

В качестве альтернативы , вы можете просто выполнить эту проверку по событию нажатия вашей кнопки:

button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 if(etvalue1.getText().toString().equals(''))
                     //empty text condition
             }
         });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...