EditText의 문자수를 세고 싶어요.


제 프로젝트에서 EditText가 있는데 여기서 EditText의 문자수를 세고싶어요. 그리고 그 숫자를 TextView에 출력하려고 밑의 코드를 짰는데요. 잘되는데 제가 백스페이스를 입력하면 문자수가 줄어야되는데 백스페이스도 문자로 인식해서 오히려 문자수가 증가해요. 어떻게하면 좋을까요?

소스코드

tv = (TextView)findViewById(R.id.charCounts);
textMessage = (EditText)findViewById(R.id.textMessage);
textMessage.addTextChangedListener(new TextWatcher(){
    public void afterTextChanged(Editable s) {
        i++;
        tv.setText(String.valueOf(i) + " / " + String.valueOf(charCounts));
    }
    public void beforeTextChanged(CharSequence s, int start, int count, int after){}
    public void onTextChanged(CharSequence s, int start, int before, int count){}
}); 
  • 2016년 01월 20일에 작성됨

조회수 265


1 답변


좋아요
0
싫어요
채택취소하기

s.length() 이런 식으로 해보세요. 그리고 텍스트뷰는 textMessage.getText().toString().length()이런식으로 바꿔보세요.

  • 2016년 01월 20일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close