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!干杯