我正在尝试接受编辑文本中的字母(键入每个字母后,Toast应该显示“您按下了按键等”,并且该字母也必须显示在编辑文本视图中)
这是我所做的以捕获KeyStrokes的操作,但是由于未创建Toast或Log条目,因此它似乎不起作用。
EditText txt=(EditText) findViewById(R.id.editText1);
txt.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_A && event.getAction() == KeyEvent.ACTION_DOWN) {
Toast.makeText(MainActivity.this, "YOU PRESSED A", Toast.LENGTH_SHORT).show();
Log.d("HEY", "You pressed A");
return false;
}
return false;
}
});
这是用onCreate方法编写的。
这只是一个测试代码,如果可以,我将对其进行修改,用作PC的远程键盘。(通过蓝牙)
最好的方法是使用TextWatcher类
EditText txt = (EditText) findViewById(R.id.editText1);
TextWatcher myTextWatcher = new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Toast.makeText(MainActivity.this, "YOU PRESSED A", Toast.LENGTH_SHORT).show();
Log.d("HEY", "You pressed A");
}
};
txt.addTextChangedListener(myTextWatcher);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句