首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >所需的EditText安卓系统无法工作

所需的EditText安卓系统无法工作
EN

Stack Overflow用户
提问于 2014-10-13 03:03:22
回答 1查看 143关注 0票数 0

我正在尝试创建一个必需的EditText,我正在尝试使用布尔值,但它不起作用。当我在我的EditText上输入一些东西时,setError也不会消失,只有在txtEdat,txtTelefon,txtEmail上才会消失。布尔值似乎在这段代码中没有用,因为它只识别txtEmail (最后一个)……

代码语言:javascript
复制
boolean contador;
contador = false;
//Creem el intent

Intent iIntent = new Intent(MyActivity.this, FormEnviado.class);
//Creem un bundle que es on anira la informació que es pasarà a la altre activity
Bundle bBundle = new Bundle();
// si isChecked el valor es True
bBundle.putBoolean("cbValidator", cbDades.isChecked());

// En cada if mirem si hi ha algun camp buit
bBundle.putString("cognom", txtCognom.getText().toString());
if(txtCognom.getText().toString().length()==0)
{
    contador = false;
    txtCognom.setError("Aquet camp no pot estar buit");
}
else
{
    contador = true;
}

bBundle.putString("nom", txtNom.getText().toString());

if(txtNom.getText().toString().length()==0)
{
    contador = false;
    txtNom.setError("Aquet camp no pot estar buit");
}
else
{
    contador = true;
}

bBundle.putString("edat", txtEdat.getText().toString());
if(txtEdat.getText().toString().length()==0)
{
    contador = false;
    txtEdat.setError("Aquet camp no pot estar buit");
}
else
{
    contador = true;
}

bBundle.putString("telefon", txtTelefon.getText().toString());

if(txtTelefon.getText().toString().length()==0)
{
    contador = false;
    txtTelefon.setError("Aquet camp no pot estar buit");
}
else
{
    contador = true;
}

bBundle.putString("email", txtEmail.getText().toString());

if(txtEmail.getText().toString().length()==0)
{
    contador = false;
    txtEmail.setError("Aquet camp no pot estar buit");
}
else
{
    contador = true;
}

// Toast i no ens deixarà enviar-lo 
if (!contador)
{
    Toast.makeText(getApplicationContext(), "Has de omplir el formulair per enviar-lo", Toast.LENGTH_SHORT).show();
}

// Formulario omplert
else
{
    //Afegim la informació de bundle al intent
    iIntent.putExtras(bBundle);
    //Inicialitzem el intent
    startActivity(iIntent);
}
EN

回答 1

Stack Overflow用户

发布于 2014-10-13 05:35:29

代码中的逻辑不正确。你有四个这样的检查:

代码语言:javascript
复制
if (required field is empty) {
    contador = false;
} else {
    contador = true
}

如果最后一次检查(评估txtEmail)通过,那么contador将为true,即使其他检查没有通过。

contador初始化为true,并删除所有这些检查中的else块。如果它们都通过了,contador仍然是true

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26328846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档