0

我正在尝试获取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);
                }
            }
        });
    }
}
4

2 回答 2

3

textfield.getText() 返回可编辑而不是字符串。为了使它工作,使用 textfield.getText().toString() 传递实际的 String 对象。

于 2012-05-02T19:34:42.577 回答
1

您的 if 语句末尾有一个分号

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

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

于 2012-05-02T19:52:20.063 回答