랜덤 음식점 추첨 어플을 만들면서 이전 액티비티에서 선택한 버튼에 따라 인텐트에 내용을 다르게 첨부하고,
이를 다음 액티비티에서 읽는데까지는 성공했는데 이것이 어떤 버튼에서 수행된것인지에 따라 기능을 다르게 하려고
if 문을 통해 전달받은 String을 걸러내려고 하였는데
// 전달받은 인텐트는 intent.putExtra("value", "message") 로 첨부되었다.
target = intent.getStringExtra("value");
if ( inputString == target) {}
같은 일반적인 자바 if문으로 전달받은 String 값이 걸러지지가 않는 것이였다.
처음에는 자료구조에 이상이 있을까, 코드 순서에 문제가 있던걸까, 조금의 시간이 걸렸는데
운좋게 올려본 마우스 커서에 메세지를 보니, 친절하게도 안드로이드 스튜디오에서
== 를 쓰는것 보다, equals(Object o) 를 추천한다는 식의 메세지를 띄워준 것이다.
그래서 기존의 저 위의 문장을 아래처럼 바꾸어주었다.
target = intent.getStringExtra("value");
if (inputString.equals(target)) {}
결과적으로 잘 걸러진다. 자료구조에는 이상이 없었고, 코드 순서에 이상도 없었다.
equals(Object o) 를 잘 염두해두자.. 조건문이 힘을 못쓴다 싶을땐.
'ANDROID' 카테고리의 다른 글
[안드로이드] 한 레이아웃에서 다른 레이아웃을 참조할 때 (0) | 2018.01.03 |
---|---|
[안드로이드] ArrayList에서 contains() 가 객체를 발견하지 못할때, equals를 Overide 하자. (0) | 2016.12.12 |
완전 투명버튼 만들기 (0) | 2016.01.20 |
TextView를 원하는 곳까지 변경한다.. (0) | 2016.01.13 |
strings.xml 의 내용을 차례대로 참조한다 (0) | 2016.01.06 |