2011-01-31 6 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の

これはあなたにはないリソースを参照しようとしていることを意味し存在する。コードスニペットに問題があるようなものは何も表示されませんが、その直後にファイルと行番号を含む別の行にする必要があります。これは正確な問題を指摘するはずです。

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を含むアクティビティのフィールドです。

関連する問題