마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

에딧텍스트 개행 감지할 수 있는 코드

0 추천
사용자가 에딧텍스트에 텍스트를 입력하다가, 개행을 하면,

이 개행으로 인해 줄이 늘어난 것을 감지할 수 있는 코틀린 코드가 있을까요?

아니면, 맥스 라인 속성을 1로 했을때, 일정 글자를 입력하면, 그것을

감지하는 코틀린 코드가 있나요?
상쾌한 (1,890 포인트) 님이 2021년 4월 1일 질문
상쾌한님이 2021년 4월 1일 수정
그냥 textwatcher에서 라인 개행문자가 있는지 체크하시던가, 아니면 입력된 글자수를 세면 되지 않나요?
정말 원하는 기능은, 한줄 꽉차게 텍스트를 입력하면, 글자 갯수에 상관없이 개행되도록 하고 싶고요. 왜냐하면, 00000이랑 가나다라랑 글자 갯수는 똑같아도 눈으로 보기에는 길이가 다르더라고요.  000..이나, 가나다라.. 썼을때, 한 줄 꽉차면,  앞의 것들이 하나씩 화면에서 사라지잔아요? 그렇게 되기 전에 개행되었으면 좋겠어요. 그리고 개행이 되면, 개행을 감지할 수 있었으면 좋겠습니다. 텍스트 왓쳐부터 한 번 살펴보고 오겠습니다. ^^ 감사합니다.
제가 구현하려는 것은, 쉽게 말해서, 컬러노트 어플처럼, 메모지를 스크롤하면, 메모지의 배경화면이 무한 출력되기는 하는데, 개행이 얼마나 되느냐에 따라서, 하나 더 똑같은 배경색과 밑줄을 갖고 있는 껍데기 뷰가 더해지느냐 이거든요.

저는 이거를 리사이클러뷰를 두 개를 사용해서, 리사이클러뷰X2 < 프레임레이아웃 < 스크롤뷰 레이아웃 밑에 넣어서 구현하고 있거든요.

그래서, 두 리사이클러뷰를 똑같은 위치에 겹쳐놓고, 뒤의 리사이클러뷰를 노란 배경색과 검은 밑줄을 갖고 있는 배경화면으로 사용하고 있고요. 앞의 리사이클러뷰에는 텍스트를 입력하면, 일정한 간격으로 텍스트들이 한 줄 한 줄 출력되면서, 하나의 에딧 텍스트가 꽉차면, 다음 에딧텍스트뷰로 커서를 이동시켜서 작성할 수 있게 해주려고 하는 중이에요. 정석적인 방법을 모르니... 좀 억지스럽게 만드는게 아닌가 싶어요. ㅎㅎ

생각하다보니, 에딧텍스트 1개로도 되겠네요. 자동으로 개행되어도 개행문자가 있을까 의문이네요.
TextView나  EditView를 상속하셔서 커스텀 컴포넌트를 만드셔야 할 것 같은데요. 화면에 님이 원하는 형태대로 텍스트가 그려지도록 onDraw 메소드를 오버라이드 해서 캔버스에 원하는 행태를 그리는 방법이 좋을 것 같은데요.
아직 커스텀 해본적이 없는것 같아서 할 수 있으려나 모르겠네요. ㅎㅎ 알아봐야 할 것 같아요. 답변 감사합니다.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...