在我的代码中我比较button.gettext和int值都是eqyal但它不是打印Toast消息。不比较两个值对我有帮助....
public static int mDay;
Button e01;
public static String[][] a = new String[6][7];
e02.setText("" + a[0][2]);
if(e01.getText().toString().equals(mDay))
{
e01.setTextColor(Color.parseColor("#FFBBFF"));
Toast.makeText(this, "Button2 text equals!", Toast.LENGTH_SHORT).show();
}
//// in debug mode both gives value 29
e01.getText().toString() =29
mDay=29
答案 0 :(得分:1)
测试这个条件
Integer.parseInt(e01.getText().toString()) == mDay
答案 1 :(得分:1)
您正在将整数与字符串进行比较。您需要将int转换为字符串
int a = 29;
String b = "29";
System.out.println(b.equals(a));
//prints false
System.out.println(b.equals(String.valueOf(a)));
//prints true
基本上你的if应该是那样的:
if(e01.getText().toString().equals(String.valueOf(mDay))
答案 2 :(得分:0)
尝试 if(Integer.parseInt(e01)== mDay)