验证EditText是否为空并等待用户输入数据

时间:2012-02-07 10:28:03

标签: android events android-edittext

我的布局是:

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

我需要知道如何使用这些小部件执行以下操作:

  • 如果用户点击EditText为空的按钮,则会显示一条消息,并等待用户输入值。
  • 向用户显示消息,然后在值输入值后输入值(etvalue1 + etvalue2)并显示结果。

6 个答案:

答案 0 :(得分:3)

在Activity Class中,在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获取值并执行您想要执行的任何操作。

答案 1 :(得分:2)

在按钮的onclicklistener中执行以下操作

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

吐司的最长时间是Toast.LENGTH_LONG。如果要在用户在edittext中输入数据之前显示消息,请使用textview显示消息。在EditTexts上设置onTextChangedListener以检查文本是否已更改。在afterTextChanged方法中,您可以进行计算。

答案 2 :(得分:1)

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;
}

答案 3 :(得分:0)

如果您想要检测用户何时在edittext 中输入值,您需要使用事件来观察更改,如Counting Chars in EditText Changed Listener

阅读reference

中的相关方法

或者,您可以对按钮的点击事件进行检查:

button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                 if(etvalue1.getText().toString().equals(''))
                     //empty text condition
             }
         });

答案 4 :(得分:0)

您可以使用以下代码来确定EditText是否为空:

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

if (sEdit1.matches(""))
        {
            Toast.makeText(getBaseContext(), "EditText is empty", Toast.LENGTH_SHORT).show();     
            return;
        }

答案 5 :(得分:0)

if(edit1.getText().equals("") || edit1.getText().equals(null))  {
    //toast the message 
} else {
    //calculate the result
}