我正在尝试接受编辑文本中的字母(在输入每个字母后,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 Method编写的。
这只是一个测试代码,如果这样可行,我将修改它用作个人电脑的远程键盘。(通过蓝牙)
答案 0 :(得分:0)
最好的方法是使用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);