输入密钥对密钥监听器不起作用

时间:2014-03-06 08:07:04

标签: android

我正在使用OnKeyListner来解决通过软键盘在编辑文本上按下的“Enter”键。 [Android。]我想当用户从软键盘输入键时它应该执行一些操作 - >从编辑框中获取输入并传递给某个功能进行处理。 这是代码:

editbox.setOnKeyListener(new View.OnKeyListener() {

            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                // TODO Auto-generated method stub
                if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
                        (keyCode == KeyEvent.KEYCODE_ENTER)) {

                    // Code For action on key press

                    input = editbox.getText().toString();
                    if(mEngine.init(input, getApplicationContext()))
                    {                                                          sharePref = getSharedPreferences("info",MODE_PRIVATE);
                        edit = sharePref.edit();
                        edit.putString("editbox",input);
                        edit.commit();


                        //                    inputDialog.dismiss();
                    }
                    else
                    {
                        ............

                    }
                    inputDialog.dismiss();


                    return true;
                }
                return false;
            }
        });     

似乎没有用。如果我做错了,请提供帮助。

2 个答案:

答案 0 :(得分:1)

在EditText中设置此属性

android:imeOptions="actionDone"
android:imeActionLabel="Enter"

您还可以使用setOnEditorActionListener 这是示例代码..

editbox.setOnEditorActionListener(new OnEditorActionListener() {

            @Override
            public boolean onEditorAction(TextView v, int actionId,
                    KeyEvent event) {
                if(actionId == 0 || actionId== EditorInfo.IME_ACTION_DONE)
                {
                    //Paste your code here.
                }
                return false;
            }

        });

答案 1 :(得分:0)

这样做可以帮助

  1. 在EditText hasFocus
  2. 时执行这些操作
  3. 在actvity中启用键盘侦听器
  4. 点击Enter时,按照自己的意愿行事。