I have a little problem I pass “0” to activity using putExtra and I get some strange result in log:
0
false
But it must be
0
true
What’s matter
public class ItemEditCreate extends Activity{
String name;
EditText editText;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_create);
if (savedInstanceState == null){
Bundle extras = getIntent().getExtras();
if (extras == null){
name = null;
}else{
name = extras.getString("Item");
}
}else{
name = (String) savedInstanceState.getSerializable("Item");
}
Log.i("Hello",name);
Log.i("Hello",Boolean.toString((name == "0")));
if (name == "0"){
setTitle("Добавление элемента");
}else{
setTitle("Редактирование элемента");
editText = (EditText) findViewById(R.id.edited_name);
editText.setText(name);
}
}
}
Problem is in condition
name == "0".==operator doesnt compare values of two strings. To compare value of two strings useequals()orequalIgnoreCase()methodsUse
name.equals("0")orname.equalsIgnoreCase("0")