动机:我希望当我在edittext中传递文本时按Enter键,然后将停止edittext的工作,并且edittext将不可见。我的代码在这里
edt=(EditText) findViewById(R.id.edt);
edt.setVisibility(View.VISIBLE);
edt.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View arg0, int arg1, KeyEvent arg2)
{
if(arg2.getAction()==KeyEvent.KEYCODE_ENTER)
{
edt.setVisibility(View.INVISIBLE);
}
return false;
}
});
但它不起作用。问题是什么?
答案 0 :(得分:2)
getAction()没有给你键码。你想改用getKeyCode()。
更改
if(arg2.getAction()==KeyEvent.KEYCODE_ENTER)
到
if(arg2.getKeyCode()==KeyEvent.KEYCODE_ENTER)
如果我理解正确,你希望EditText完全消失。如果您正在使用线性布局或类似的东西,EditText将是不可见的,但它仍将存在,占用空间。如果您希望edittext完全消失,则应使用edt.setVisibilty(View.GONE)
代替edt.setVisibilty(View.INVISIBLE)