안드로이드 개발 팁 #24 - EditText 뷰에 텍스트 입력하고 0.5초 후 액션 설정steemCreated with Sketch.

EditText에 ID나 검색어 등과 같은 텍스트를 입력하고 0.5초 후 자동으로 어떤 액션을 실행하는 코드를 만들어 보고 싶었습니다. 스팀 API 샘플 코드를 만들면서 필요했던 것인데요. RxJava, RxAndroid 라이브러리를 활용하였습니다.

당시 코드는 아래와 같이 작성했습니다. 당시 사용했던 언어는 자바였습니다.

RxTextView.textChangeEvents(editTextExample)
        .debounce(500, TimeUnit.MILLISECONDS)
        .distinctUntilChanged()
        .filter(account -> account.text().toString().length() > 2)
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(event -> {
            // 액션 실행
        });
  • debounce 메소드: 타이핑하고 0.5초 지나면 액션 실행 (그 사이에 추가 타이핑하면 0.5초 타이머 재설정)
  • distinctUntilChanged(): 최근 실행했던 텍스트와 이후 입력한 텍스트가 동일하면 액션 실행 안함
  • filter: 입력한 텍스트의 길이가 2 이하이면 액션 실행 안함

지난 안드로이드 개발 팁

Sort:  
 2 years ago 

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Upvoted! Thank you for supporting witness @jswit.

Coin Marketplace

STEEM 0.15
TRX 0.15
JST 0.029
BTC 56269.96
ETH 2364.95
USDT 1.00
SBD 2.26