Java 为什么文本比较失败?

Java 为什么文本比较失败?,java,android,android-edittext,equals,Java,Android,Android Edittext,Equals,我正在尝试获取名为textfield的EditText组件中的文本,看看它是否等于“facebook”。但它不起作用,我一辈子也找不到原因。在if语句中,my应该是图片的ID public class Guess extends Activity { ImageView image; ImageView stat; Button okButton; EditText textfield; Integer my; public void onC

我正在尝试获取名为
textfield
EditText
组件中的文本,看看它是否等于“facebook”。但它不起作用,我一辈子也找不到原因。在if语句中,
my
应该是图片的ID

public class Guess extends Activity {

    ImageView image;
    ImageView stat;
    Button okButton;
    EditText textfield;

    Integer my;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.guess);

        final Bundle bundle = this.getIntent().getExtras();
        int pic = bundle.getInt("myimage");
        final int resid = bundle.getInt("resourceID");

        my = pic;

        image = (ImageView) findViewById(R.id.imageView1);
        image.setImageResource(pic);
        image.setAdjustViewBounds(true);

        stat = (ImageView) findViewById(R.id.imageView2);
        stat.setImageResource(R.drawable.incorrect);

        okButton = (Button) findViewById(R.id.button1);
        okButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // TODO Auto-generated method stub

                textfield = (EditText) findViewById(R.id.editText1);
                if("2130837510".equals(my.toString()) && "facebook".equals(textfield.getText()));
                {
                    stat.setImageResource(R.drawable.correct);
                }
            }
        });
    }
}

getText()返回可编辑的文本,而不是字符串。要使其工作,请使用textfield.getText().toString()传递实际字符串对象。

textfield.getText()返回一个可编辑字符串,而不是字符串。要使其工作,请使用textfield.getText().toString()传递实际的字符串对象。

if语句末尾有一个分号

if(1 == 2);
{
    System.out.println("passed");
}

因此,下面的代码仍将执行。

if语句末尾有一个分号

if(1 == 2);
{
    System.out.println("passed");
}

因此下面的代码无论如何都会执行。

添加.toString()后,无论输入什么文本,都会显示图像“correct”:“我刚刚注意到if语句末尾有一个“;”。这意味着您将始终设置“正确”的图像。删除该文件;它应该可以工作。添加.toString()后,无论输入什么文本,都会显示图像“correct”:“我刚刚注意到if语句末尾有一个“;”。这意味着您将始终设置“正确”的图像。删除该文件;它应该会起作用。你有分号吗;在你的if条件结束时?哎呀!这实际上解决了问题@Luke!干杯你有分号吗;在你的if条件结束时?哎呀!这实际上解决了问题@Luke!干杯