在转到另一个Activity之前,需要editText字段

Kri*_*eni 26 validation android android-edittext onclicklistener

我有验证editText.如果该editText字段为空,则应验证失败并停止用户移动到另一个Activity,因为需要值.怎么做?我知道这是一个基本问题,但我无法弄清楚如何做到这一点.

我的代码:

btninsert = (Button)findViewById(R.id.btn_insert);
btninsert.setOnClickListener( new View.OnClickListener() {
    public void onClick(View v) {
        insertValues();
        EditText userName = (EditText) findViewById(R.id.editText1);

        if( userName.getText().toString().length() == 0 )
            userName.setError( "First name is required!" );

        Intent i = new Intent(getApplicationContext(), Login.class);
        startActivity(i);
    }
});
Run Code Online (Sandbox Code Playgroud)

Button 单击此按钮时,用户将重定向到下一个屏幕,但是如果验证失败,我需要保持当前状态Activity,并且只有在验证成功时(即已输入值),他们才会转到下一个屏幕Activity.

Har*_*ary 65

这很容易...检查您的EditText是否为空,如下面的示例所示.

if( TextUtils.isEmpty(userName.getText())){
   /**
    *   You can Toast a message here that the Username is Empty    
    **/

   userName.setError( "First name is required!" );

}else{
   Intent i = new Intent(getApplicationContext(), Login.class);
   startActivity(i);
}
Run Code Online (Sandbox Code Playgroud)

  • 有没有办法在 xml 本身中将任何字段作为强制性提及而不是在 java 中进行验证 (4认同)

Raj*_*ddy 7

试试这个:

bt.setOnClickListener(new OnClickListener() {
    public void onClick(View arg0)
    {
        String  str=et.getText().toString();

        if(str.equalsIgnoreCase(""))
        {
            et.setHint("please enter username");//it gives user to hint
            et.setError("please enter username");//it gives user to info message //use any one //
        }
        else
        {
            Intent in=new Intent(getApplicationContext(),second.class);
            startActivity(in);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)


fid*_*zik 5

你也可以试试这个:

 if ( ( userName.getText().toString().trim().equals("")) ) 
 {
      Toast.makeText(getApplicationContext(), "User name is empty", Toast.LENGTH_SHORT).show();
 }
 else
 {
      Intent i = new Intent(getApplicationContext(), Login.class);
      startActivity(i);
 }
Run Code Online (Sandbox Code Playgroud)