在我的eclipse程序中需要帮助

时间:2014-08-31 15:15:35

标签: android

public void click(View view) {

    String one = "one";
    EditText et = (EditText)findViewById(R.id.editText1);
    String entered_text = et.getText().toString();

    if(et.getText().toString() == one){

        TextView tv1 = (TextView)findViewById(R.id.textView1);
        tv1.setText("Correct!");
    }

    else {

        TextView tv = (TextView)findViewById(R.id.textView1);
        tv.setText(one+entered_text);   }
    }

这是从我的程序中提取的代码片段,我没有发布整个程序,因为它没有必要,因为程序运行良好,没有任何运行时异常。

因此,在Eclipse上执行的程序没有显示任何错误并且运行正常,但在运行时,if条件et.getText().toString() == "one"总是返回false,即使entered_textone ie;它从不打印"正确!"并且代码总是打印" one + entered_text"这是else子句中的语句。有趣的是,如果输入one,输出将为oneone,即else语句。

请在我出错的地方帮助我。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

试试这个

if(et.getText().toString().equals(one)){

而不是

if(et.getText().toString() == one){

答案 1 :(得分:0)

更好的方法是比较字符串,如et.getText()。toString()。equals(" one"); 也做et.getText()。toString()。trim()。equals(" one");避免空格错误