我想建立一个系统,如果EditText为空,则打印一条消息错误,当它是' nt时,然后更改为主活动,并打印成功消息。但当我按下" sig"按钮,应用程序停止工作错误消息出现!我需要帮助!这是我的代码:
Button sig = (Button) findViewById(R.id.env); // cargo el boton
sig.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context context = getApplicationContext();
int duration = Toast.LENGTH_SHORT;
EditText nom = (EditText) findViewById(R.id.nomb);
String strUserName = nom.getText().toString();
if(TextUtils.isEmpty(strUserName))
{
CharSequence text2 = "¡Dejaste campos vacíos!";
Toast error = Toast.makeText(context, text2, duration);
error.show();
}
else
{
CharSequence text = "¡Encuesta enviada!";
Toast toast = Toast.makeText(context, text, duration);
Intent pas = new Intent(encuesta.this, MainActivity.class);
toast.show();
startActivity(pas);
}
}
});
谢谢!
答案 0 :(得分:2)
我认为问题在于上下文,所以不要使用getApplicationContext(),而是尝试在toast方法中使用class name.this。
答案 1 :(得分:1)
而不是那条线
if(TextUtils.isEmpty(strUserName))
您可以使用
if(nom .isEmpty())
我希望这会有所帮助。
答案 2 :(得分:0)
isEmpty()或null始终无法正常使用String。 我建议以这种方式找到空的编辑文本
if(editText.getText().toString().length() > 0){
//it contains something
}
然后您可以在此处或在xml布局中指定长度限制。
答案 3 :(得分:0)
EditText nom = (EditText) findViewById(R.id.nomb);
" nomb"是一个TextView ID,而不是EditText id,所以我使用" editText3",它是我尝试使用的EditText id,它有效。我道歉并感谢你的时间。
答案 4 :(得分:-1)
我现在不知道TextUtils类的验证方式或检查方式,但你可以用这样的东西替换它
if(strUserName.matches(""))
{
}
这样你可以检查字符串是否为空