edittext在android中的动作

时间:2011-04-17 15:55:24

标签: android android-widget

动机:我希望当我在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;
                }
            });

但它不起作用。问题是什么?

1 个答案:

答案 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)