Java 如何在android中实时计算按键时间
如何实时计算按键次数??还是用按键? 这是我的密码:Java 如何在android中实时计算按键时间,java,android,keypress,Java,Android,Keypress,如何实时计算按键次数??还是用按键? 这是我的密码: public class MyActivity extends Activity implements View.OnClickListener, View.OnKeyListener { /** * Called when the activity is first created. */ EditText ed @Override public void onCreate(Bundle
public class MyActivity extends Activity implements View.OnClickListener, View.OnKeyListener {
/**
* Called when the activity is first created.
*/
EditText ed
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ed=(EditText)findViewById(R.id.editText);
ed.setOnKeyListener(this);
}
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
keyCounter++;
Log.d("key","" + keyEvent.getKeyCode());
return super.onKeyUp(i, keyEvent) ;
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_B:
keyCounter++;
return true;
}
return super.onKeyUp(keyCode, event);
}
}
我试了onkeyup和on-key两种。。但它不起作用;
我对keyCounter的值进行了优化,但仍然为零。有人知道如何在安卓系统中获得按键次数吗??谢谢。你是用真键盘还是用软件键盘 android.view.view.OnKeyListener 课程概述 将硬件键事件调度到此视图时调用的回调的接口定义 看看是否可以改用TextChangedListener
myEditText.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {
//do stuff
}
});
其他事项:
1) 使用Log.d代替Toast
2) 试试键盘计数器++;没有条件查看是否调用onKey
3) 将return false/true更改为return super.onKey(keyCode,event)Toast是一种可怕的调试方式。。您是否已删除Log.d(“tag”、“Soemthing”)中的if部分以检查是否调用了onKey。仍然相同。我将返回值更改为您所说的值。不走运。我希望您使用的是硬件键盘,而不是软件键盘;-)模拟器?Ahm没有即时消息使用我的设备。:)哇,真管用。你的代码在模拟器上运行。addtextchange()。但是为什么它不能在真正的设备上工作呢?