我试图在我的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) {
}
};
每当我在主文本块中输入任何文本时,我都会关闭一个力。我试图计算击键次数,而不是编辑文本中的字符数,否则它会相当直接......
非常感谢!
答案 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的活动的字段。