Android:Key Stroke Count

时间:2011-01-31 22:46:48

标签: android android-softkeyboard

我试图在我的Android应用程序中记录edittext中的击键次数,但即时通讯显示空白有一种方法可以做到这一点。

我认为TextWatcher是实现这一目标的方法,但目前还没有任何工作。我是一个新手Android开发人员,所以任何帮助非常感谢。

 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) {
  }

    };

每当我在主文本块中输入任何文本时,我都会关闭一个力。我试图计算击键次数,而不是编辑文本中的字符数,否则它会相当直接......

非常感谢!

3 个答案:

答案 0 :(得分:1)

  

ERROR / AndroidRuntime(482):   android.content.res.Resources $ NotFoundException:   字符串资源ID#0x1

这意味着您正在尝试引用不存在的资源。我在代码片段中看不到任何看起来会出现问题的内容,但是在该logcat片段之后应该是包含文件和行号的另一行。这应该指出你确切的问题。

答案 1 :(得分:1)

我有同样的错误。我发现的解决方案是你不能将整数放入.setText()(它似乎找到了一个id)。所以你在keystrokeCount.setText(keyCount);所要做的就是在keyCount之前放一个“”。

答案 2 :(得分: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的活动的字段。