I have strings stored in SQLite
database which are shown in an Activity
. the problem is if I compare the text of the button with a string value it returns false while equals show it matches. I am curious to know who it is returning false while they are both the same.
I have tried and tostring methods.
while (result.moveToNext()) {
Button btn = new Button(this);
btn.setWidth(100);
btn.setHeight(40);
// btn.setSingleLine(); //keep text in single line don't break big words
// btn.setAutoSizeTextTypeUniformWithConfiguration(1, 15, 1,
// TypedValue.COMPLEX_UNIT_DIP);
messageReceived = result.getString(1).trim();
btn.setText(result.getString(1).trim());
String btnText = btn.getText().toString().trim();
String Value = Boolean.toString(btnText == messageReceived);
Toast toast = Toast.makeText(this, Value, Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 5, 5);
toast.show();
if (messageReceived.equals(btnText)) {
Toast toast2 = Toast.makeText(this, "matched", Toast.LENGTH_LONG);
toast2.setGravity(Gravity.LEFT, 0, 0);
toast2.show();
} else {
Toast toast2 = Toast.makeText(this, "Not Matched", Toast.LENGTH_LONG);
toast2.setGravity(Gravity.LEFT, 0, 0);
toast2.show();
}
Toast.makeText(this, "A: " + btn.getText() + " B: " + messageReceived, Toast.LENGTH_LONG).show();
btn.setOnClickListener(this);
grid.addView(btn);
//messageReceived="pungi";
if (btnText == messageReceived) {
btn.setBackgroundColor(Color.YELLOW);
}
}