Editext 键盘可见性以编程方式关闭 Android



我是Android的新手。当我单击键盘时,我有一个编辑文本,它会自动显示。但是我想做的是当用户双击编辑文本时应该显示键盘。我怎样才能实现它?

 <Edit Text
            android:id="@+id/TV"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="type something"/>

在这里,我采用简单的编辑文本。我采用一个手势侦听器类来实现双击侦听器事件。

找到下面的代码,它将检查编辑文本是否打开。如果它被打开,它将关闭它

     yourEditText.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            yourEditText= this.getCurrentFocus();
            if (yourEditText!= null) {
                InputMethodManager imm = (InputMethodManager) getActivity()
                        .getSystemService(Context.INPUT_METHOD_SERVICE);
                if (imm.isAcceptingText()) {
                    imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0);
                }
            }
        }
    });

为什么不使用OnLongClickListener来实现你想要的呢?

yourEditText .setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                //show your keyboard
                return false;
            }
        });

单击编辑文本时隐藏软键盘

  yourEditText.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                 InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
        if (imm != null) {
            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
        }       
            }
        });

这里也请阅读这篇文章 Android:如何检测双击? 可能会帮助您了解

最新更新