使用addTextChangedListtener作为编辑框时出现强制关闭错误

时间:2013-03-19 10:18:29

标签: android validation android-edittext

我想验证“username”和“password”字段的edittexts。我不希望用户将用户名和密码保留为空白。我在此网站中发现使用{ {1}} n添加TextWatcher我们可以处理这个..但是我得到强制关闭错误 ..我对android很新,这是我的第一个应用程序。请告诉我我在哪里我出错了。我有以下代码:

addTextChangedListener

提前感谢..

3 个答案:

答案 0 :(得分:0)

您需要检查文本是否为空:

public void afterTextChanged(Editable s) 
{

   if( edt_Username.getText() == null || edt_Username.getText().toString().equals("") || edt_pwd.getText() == null || edt_pwd.getText().toString().equals(""))
   {
       Toast.makeText(MainActivity.this, "All Fields Required.", 
         Toast.LENGTH_SHORT).show();
   }


}

答案 1 :(得分:0)

Intent intent=new Intent(this,Leave_form.class); 
setContentView(R.layout.activity_leave_form);
startActivity(intent);

您正在调用login()方法setContentView(),只能调用一次!在 onCreate()方法。

解决方法是删除此行,然后启动新的Activity

Intent intent = new Intent(this, Leave_form.class); 
startActivity(intent);

然后致电

setContentView(R.layout.activity_leave_form);

在onCreate()方法中的 Leave_form类

更新

同样在你的代码中还有更多东西被打破:

edt_Username.getText().toString().equals(null)

如果您想确定文本框是否为空,请使用:

if (TextUtils.isEmpty(edt_User.getText().toString()) && ...) {
   Toast.makeText(context, "Fields are required!", Toast.LENGTH_SHORT).show();
}

注意: edt_Username.getText()始终不为空。

答案 2 :(得分:0)

首先允许用户输入他们的名字和密码,并在点击按钮验证用户名和密码时点击登录按钮。