이클립스 안드로이드 레이아웃에 EditText 뷰만 넣으면 아래와 같은 예외가 발생하면서

java.util.LinkedHashMap.eldest()Ljava/util/Map$Entry;

Exception details are logged in Window > Show View > Error Log

GUI 화면에서는 제대로 레이아웃이 보이지 않는 문제가 발생했다.


모놀로그님의 글을 통해 1차적인 문제는 해결했으나, EditText에 멀티라인이 적용되지 않는 것이다.


scrollHorizontally="false" 속성을 추가해 보기도 하고

singleLine="false" 로 해보기도 하고

lines="5" 와 같이 line 수를 하드코딩도 해보았으나 모두 적용이 되지 않는다.


1차적인 해결 방법은 EditText에 inputType="textNoSuggestions" 속성을 추가하는 것이었고, 그로 인해 파싱 오류는 없어졌다. 허나 textNoSuggestion 속성값은 IME의 엔터키에 엔터를 완료로 바꾸는 것이라(좀 더 정확히는 사전 기반의 단어 추천을 하지 않게 하는 기능이나 외부적으로는 IME에 완료 버튼을 나타나게 함) EditText 뷰 자체가 싱글라인으로 인식이 된다.


혹시나 싶어 inputType 속성의 값을 textMultiline으로 하니 원래 지정한 대로 scrollHorizontally 속성으로 수평 방향 스크롤도 없어졌으며 Gson에서 pretty print로 얻은 JSON 스트링도 정상적으로 줄바꿈이 되어 표시가 된다.


그러나 파싱 오류는 다시 발생해서 레이아웃 확인을 Graphical Layout에서 확인할 수는 없게 되었다.

textNoSuggestions 말고 근본적인 파싱 오류의 원인을 찾아봐야겠다.





참고 : inputType 속성 값에 대한 특성은 서동규님의 블로그 글에서 확인할 수 있음

+ Recent posts