我需要在usario输入时输入名为textOrigem
的文本视图自动填充功能。下面是我的代码,我调试,当我按任意键少输入时它来了。自动填充文本视图的属性为android:clickable = "true"
,但如果我输入则仍然不会输入该方法。
textOrigem.setKeyListener(new KeyListener() {
@Override
public boolean onKeyUp(View view, Editable text, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onKeyOther(View view, Editable text, KeyEvent event) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onKeyDown(View view, Editable text, int keyCode,
KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) {
Log.d("Key", "enter_key_called");
}
return false;
}
@Override
public int getInputType() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void clearMetaKeyState(View view, Editable content, int states) {
// TODO Auto-generated method stub
}
});
答案 0 :(得分:0)
也许试试TeextView.OnEditorActionListener?如果您的文本视图很少,则覆盖onEditorAction并在其中按View.getId切换。
答案 1 :(得分:0)
我对在Android中设置关键监听器并不太熟悉,但快速浏览一下getInputType
no soft keyboard will be provided
this一点点的文档:
根据InputType返回此键侦听器正在操作的文本类型。这用于确定为编辑器显示的软键盘的模式。 如果返回TYPE_NULL,则不会提供软键盘。换句话说,您必须提供自己的键盘用于屏幕输入,并且键监听器将用于处理来自硬键盘的输入。
我的猜测是 @Override
public int getInputType() {
// TODO Auto-generated method stub
return TYPE_CLASS_TEXT;
}
字面意思,这可以解释为什么Log没有被解雇。如果没有将日志添加到其他方法,以查看是否还有其他任何方法。
尝试这样做:
{{1}}