TextWatcher 설명

2015. 4. 11. 17:02·IT기술 관련/모바일
반응형

출처 - http://blog.naver.com/PostView.nhn?blogId=sukuns&logNo=70114459329


에디트 텍스트 안의 글자 수를 셀때 가장 중요한 역할을 하는 것은 바로 TextWatcher라는 인터페이스이다

 

에디트텍스트는 사용자가 입력한 문자열의 상태가 바뀌는 것을 에디트텍스트 밖으로 알리기 위해 TextWatcher 객체를 addTextChangedListener()메서드의 인자로 사용한다.

 

...(생략)..

TextWatch watch = new TextWatcher(){

@Override

public void beforeTextChanged(CharSequence s, int start, int count, int after){

 CharSequence s : 현재 에디트텍스트에 입력된 문자열을 담고 있다.

 int start : s 에 저장된 문자열 내에 새로 추가될 문자열의 위치값을 담고있다.

 int count : s 에 담긴 문자열 가운데 새로 사용자가 입력할 문자열에 의해 변경될 문자열의 수가 담겨있다.

  int after : 새로 추가될 문자열의 수

}

@Override

public void onTextChanged(CharSequence s, int start, int before, int count){

 CharSequence s : 사용자가 새로 입력한 문자열을 포함한 에디트텍스트의 문자열이 들어있음

 int start : 새로 추가된 문자열의 시작 위치의 값 

int before : 새 문자열 대신 삭제된 기존 문자열의 수가 들어 있다

int count : 새로 추가된 문자열의 수가 들어있다.

}

@Override

public void afterTextChanged(Editable s){}

...(생략)..

Edittext editext = (EditText)findViewById(R.id.edittext);

edittext.addTextChangedListener(watch);

 

}

 

상위 코드가 실행되면 에디트 텍스트 문자 입력 상태가 변경될 때마다 beforeTextChanged().

onTextChanged(),afterTextChanged() 메서드를 순서대로 하나씩 호출한다.

즉, 사용자가 키보드에서 글자 한나를 누른 뒤에 손가락을 떼면 그 사이에 아래와 같은 순서를 거쳐서 글자 하나가 입력된다.

 

예 :

abcde 라는 문자열이 있다.

 이때 cde를 선택한다음

abcde

키보드에서 t를 찾아 누르면 에디트텍스트 내 문자열은 다음과같이 

abt 로 변한다

beforeTextChanged()

CharSequence s : abcde (에디트 텍스트에 들어있던 문자열

int start : (abced에서 변경될 텍스트가 c에서 시작하므로 start 값은 2 이다. 참고로 첫 문자열 a 는 0, b는 1)

int count : 3 (cde를 선택했으므로 cde의 길이는 3)

int after : 1(t가 입력되었으므로 t의 길이 1)

 

onTextChanged()

CharSequence s : abt (병경된 후 에디트 텍스트 내의 문자열 abt)

int start : 2(t는 a와 b다음이므로  위치 값은 2)

int before : 3(처음 abced에서 cde가 대신에 t 가 들어왔으므로 ced의 길이인3)

int count : 1 (새로 추가되었으므로 t의 길이 1)

반응형
저작자표시 (새창열림)

'IT기술 관련 > 모바일' 카테고리의 다른 글

[Android] “gradle DSL method not found: android()” 해결하기  (0) 2015.12.23
[Android] failed to find target android-21 오류 해결하기  (0) 2015.12.18
스마트폰의 센서 종류와 특징 그리고 활용의 예  (0) 2015.10.18
TextWatcher 를 이용한 글입력 제한 하기.  (0) 2015.04.11
모바일 챌린저  (0) 2015.02.21
'IT기술 관련/모바일' 카테고리의 다른 글
  • [Android] failed to find target android-21 오류 해결하기
  • 스마트폰의 센서 종류와 특징 그리고 활용의 예
  • TextWatcher 를 이용한 글입력 제한 하기.
  • 모바일 챌린저
호레
호레
창업 / IT / 육아 / 일상 / 여행
    반응형
  • 호레
    Unique Life
    호레
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 법률
        • 기본
        • 개인정보보호법
        • 정보통신망법
        • 전자금융거래법
        • 전자금융감독규정
        • 신용정보법
        • 온라인투자연계금융업법
      • 창업
        • 외식업 관련
        • 임대업 관련
        • 유통업 관련
        • 세무 관련
        • 마케팅 관련
        • 기타 지식
        • 트렌드
        • Youtube
      • IT기술 관련
        • 모바일
        • 윈도우
        • 리눅스
        • MAC OS
        • 네트워크
        • 빅데이터 관련
        • A.I 인공지능
        • 파이썬_루비 등 언어
        • 쿠버네티스
        • 기타 기술
      • 퍼블릭 클라우드 관련
        • Azure
        • GCP
        • AWS
      • 정보보안 관련
        • QRadar
        • Splunk
        • System
        • Web
      • 기타
        • 세상 모든 정보
        • 서적
      • 게임 관련
        • 유니티
      • 부동산
      • 맛집 찾기
        • 강남역
        • 양재역
        • 판교역
        • ★★★★★
        • ★★★★
        • ★★★
        • ★★
        • ★
      • 결혼_육아 생활
        • 리얼후기
        • 일상
        • 육아
        • 사랑
        • Food
      • 영어
        • 스피킹
        • 문법
        • 팝송
        • 영화
      • K-컨텐츠
        • 드라마
        • 영화
        • 예능
      • 독서
      • 프로젝트 관련 조사
        • 시스템 구축
        • 로그 관련
        • 웹
        • APT
        • 모의 해킹
        • DB
        • 허니팟
        • 수리카타
        • 알고리즘
        • FDS
      • 기업별 구내 식당 평가
        • 한국관광공사
        • KT telecop
        • KT M&S
        • KT powertel
        • KT cs 연수원
        • 진에어
      • 대학 생활
        • 위드윈연구소
        • 진로 고민
        • 채용정보
        • 자동차
        • 주식
        • 악성코드
        • 게임 보안
      • 쉐어하우스
  • 블로그 메뉴

    • 홈
    • 게임 관련
    • IT 기술 관련
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    판교역
    수제버거존맛
    AWS
    판교
    돈까스
    수제버거
    판교맛집
    무역전쟁
    상호관세
    복리후생
    점심
    대통령
    맛집
    보안가이드
    이재곧죽습니다
    쥬쥬랜드
    수제버거맛집
    마케팅
    유니티
    런치
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
호레
TextWatcher 설명
상단으로

티스토리툴바