2011-01-31 5 views
0

내 안드로이드 앱의 edittext에 키 입력 횟수를 기록하려고하는데, 메신저가 비어있는 상태가됩니다.Android : 키 스트로크 횟수

저는 TextWatcher가 이것을 달성하는 방법이라고 생각하지만 현재는 아무 것도 작동하지 않습니다. 임 초보자 안드로이드 개발자, 그래서 많은 도움을 주셔서 감사합니다.

mainTextBlock.addTextChangedListener(keyCounter); 
    ... 
    TextWatcher keyCounter = new TextWatcher() { 

    public void afterTextChanged(Editable s) { 
    keyCount++; 
    TextView keystrokeCount = (TextView)findViewById(R.id.keystrokeCount); 
    keystrokeCount.setText(keyCount); 
    } 

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

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

    }; 

본문 블록에 텍스트를 입력 할 때마다 강제 종료됩니다. 나는 edittext 안에있는 문자의 숫자가 아닌 키 스트로크를 계산하려고 노력하고 있습니다. 그렇지 않으면 상당히 똑바로 될 것입니다 ...

많은 감사!

+2

logcat –

+1

에서 오류를 게시하시기 바랍니다. 또한 swype과 같은 것을 사용하는 사람들은 귀하가 의지 할 수있는 키 입력을하지 않을 수도 있음을 명심하십시오. –

+0

@ dave.c 정말입니까? 'TextWatcher'는 텍스트 변경 이벤트를 듣고 키보드 누르기 이벤트를 듣지 않아야합니다. –

답변

1

ERROR/AndroidRuntime (482) : android.content.res.Resources $ NotFoundException : 문자열 리소스 ID 번호 0x1로는

이것은 당신이하지 않는 리소스를 참조하려고했음을 의미합니다 있다. 문제가 될 것 같은 코드 조각에는 아무것도 표시되지 않지만 그 직후 logcat 코드 조각은 파일과 행 번호가 포함 된 다른 줄이어야합니다. 이것은 정확한 문제를 지적해야합니다.

1

동일한 오류가 발생했습니다. 내가 찾은 해결책은 .setText()에 정수를 넣을 수 없다는 것입니다 (ID를 찾는 것처럼 보입니다). 그러므로 keystrokeCount.setText(keyCount);에서해야 할 일은 keyCount 앞에 ""넣습니다.

1
yourEditText.addTextChangedListener(new TextWatcher() { //per contare i tasti  
     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      keycounter++; 
     } 

     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
     }  
     @Override 
     public void afterTextChanged(Editable s) { 
     } 
    }); 

여기서 keycounter는 EditText가 포함 된 활동 필드입니다.