Android字符串与EditText字符串值的比较

时间:2016-01-07 16:57:50

标签: java android

我知道这应该很容易,但我真的不知道我做错了什么。

我想做类似伪代码的事情:

if EditText == "ed" {show.message "Hi"}

else {show.message "NOPE"}
//--[Boton Sumar 2]--

public void onBT_sumar2Click(View v) {

    EditText e1 = (EditText)findViewById(R.id.ET_1);
    EditText e2 = (EditText)findViewById(R.id.ET_2);
    TextView t1 = (TextView)findViewById(R.id.TV_resultado);

    if (e1.getText().equals("ed")){
        Context context = getApplicationContext();
        CharSequence text = ":V / hi :V /" ;
        int duration = Toast.LENGTH_LONG;
        Toast toast = Toast.makeText(context, text, duration);
        toast.show();

    }

    else {
        Context context = getApplicationContext();
        CharSequence text = "NOPE";
        int duration = Toast.LENGTH_LONG;
        Toast toast = Toast.makeText(context, text, duration);
        toast.show();
    }
}

2 个答案:

答案 0 :(得分:4)

您应该将e1的值转换为字符串以供比较。

尝试:

if (e1.getText().toString().equals("ed")) { ...

答案 1 :(得分:0)

e1.getText()返回一个可编辑对象。由于您尝试将字符串与不同类型的对象进行比较,因此该表达式的计算结果不等于,将始终返回false,并显示NOPE。

您必须使用toString()方法从Editable对象获取字符串值。