为什么这个文本比较失败?

时间:2012-05-02 19:31:24

标签: java android android-edittext equals

我正在尝试将EditText组件中的文本命名为textfield,并查看它是否等于“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);
                }
            }
        });
    }
}

2 个答案:

答案 0 :(得分:3)

textfield.getText()返回Editable而不是String。为了使它工作,使用textfield.getText()。toString()。

传递实际的String对象

答案 1 :(得分:1)

if语句末尾有一个半冒号

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

所以无论如何都会执行下面的代码。