Android输入密钥监听器

C0d*_*exe 2 android button android-edittext onclicklistener

有人可以用软键盘帮助我进入关键听众吗?

我需要一个像按钮监听器这样的回车键监听器,里面会有一些像这样的editext监听器

enterkey.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) { 
        if(editext1.getText().toString().equalsIgnoreCase("test1")) {
            button3.performClick();
        }
        if(editext1.getText().toString().equalsIgnoreCase("test2")) {
            button4.performClick();
        }
    }
);
Run Code Online (Sandbox Code Playgroud)

我还需要这样的东西这是正确的吗?

     if(editext1.getText().toString().equals.null)) {
            testwrong.setText("Wrong"); 
Run Code Online (Sandbox Code Playgroud)

感谢所有可以提供帮助的人


我现在尝试使用此代码,但是当我按Enter键时仍然获取空值?任何人都可以提出避免这种情况的解决方

        editext.setOnKeyListener(new View.OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
            if (keyCode==KeyEvent.KEYCODE_ENTER) { 
                if("test1".equalsIgnoreCase(anstext.getText().toString())) {
                     but4.performClick();
                    }}
                else
                if("test2".equalsIgnoreCase(editext.getText().toString())) {
                 but5.performClick();
                }

            if("test5".equalsIgnoreCase(editext.getText().toString())) {
             but6.performClick();
            }

            if("test7".equalsIgnoreCase(editext.getText().toString())) {
             but7.performClick();
            }
            if (editext.getText().toString() != null){
              testwrong.seText("wrong");               }

        return true;




        } });
Run Code Online (Sandbox Code Playgroud)

Sab*_*bre 18

在你的EditText,你应该使用指定的键盘操作imeOptions.

<EditText
       android:id="@+id/query"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:imeOptions="actionGo"
       android:inputType="text" />
Run Code Online (Sandbox Code Playgroud)

在您的Activity类中:

 EditText editText = (EditText) findViewById(R.id.query);
 editText.setOnEditorActionListener(new OnEditorActionListener() {
            public boolean onEditorAction(TextView v, int actionId,
                    KeyEvent event) {
                    if (actionId == EditorInfo.IME_ACTION_GO) {

                        return true;
                    }
                    return false;
                }
            });
Run Code Online (Sandbox Code Playgroud)


Nam*_*ung 9

如果你想赶上用户按Enter登记onKeyListenerEdittext

  yourEditText.setOnKeyListener(new View.OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                // TODO Auto-generated method stub
                if (keyCode==KeyEvent.KEYCODE_ENTER) { //Whenever you got user click enter. Get text in edittext and check it equal test1. If it's true do your code in listenerevent of button3
                    if("test1".equals(edt.getText().toString())) {
                        //paste your code in button3 listener here
                        }
                }

}
    )
Run Code Online (Sandbox Code Playgroud)

这部分是错的.

if(editext1.getText().toString().equals.null)){testwrong.setText("Wrong");

你应该改变

if (editext1.getText().toString() != null && !editext1.getText().toString().isEmpty()) {
  // doSomething
}
Run Code Online (Sandbox Code Playgroud)


Ami*_*oda 0

你可以用它来监听键盘事件

http://developer.android.com/reference/android/inputmethodservice/KeyboardView.OnKeyboardActionListener.html

  • 请提供的不仅仅是链接答案,因为链接可能会损坏或其内容会随着时间的推移而发生变化 (4认同)