Android上点击EditText将不会显示软键盘

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android上点击EditText将不会显示软键盘相关的知识,希望对你有一定的参考价值。

它发生在用户关闭软键盘然后再次尝试单击/获得焦点在EditText上时,只有光标显示没有任何反应 - 我想再次显示键盘。

我试过了:

  • 使用onclick事件
  • 使用focuschanged事件
  • 更改EditText的属性(可聚焦等...)

注意:我目前正在使用Paranoid android。 EditText是Multiline。

答案

我找到了解决方案,我只需从EditText中删除以下属性:

android:textIsSelectable="true"
另一答案

请首先省略为EditText定义的任何requestFocus。有一个known bug可以防止键盘显示,如果后者设置。

如果这对您不起作用,请创建一个焦点侦听器,并以编程方式打开virt键盘:

editTxt.setOnFocusChangeListener(new OnFocusChangeListener() {          
    public void onFocusChange(View v, boolean hasFocus) {
        if(hasFocus) {
            // show keyboard
            InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);
            imm.showSoftInput(editTxt, 0);

        }
    }
});
另一答案

这是一个解决方案:

final InputMethodManager imm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
EditText e= (EditText) findViewById(R.id.editText1);
e.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            imm.showSoftInput(e, InputMethodManager.SHOW_IMPLICIT);
        }
    });
    e.setOnEditorActionListener(new OnEditorActionListener() {

        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            // TODO Auto-generated method stub
            if(actionId==EditorInfo.IME_ACTION_GO){
                imm.hideSoftInputFromWindow(e.getWindowToken(), 0);
                //Do you work here
            }
            return false;
        }
    });

而edittext将是:

<EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:singleLine="true"
        android:imeOptions="actionGo"/>

以上是关于Android上点击EditText将不会显示软键盘的主要内容,如果未能解决你的问题,请参考以下文章

Android 开发里面,如何点击Button将EditText里面的内容发送出去并显示在ListView当中?

Android EditText 捕获KEYCODE_ENTER后按下Del键无法正常退格?

Android - 动画发生后键盘不会出现在edittext

在 Toast 下保留软键盘 - ANDROID

android开发中,EditText点击事件可以响应,就是不弹出软键盘。怎么解决,EditText是在Dialog中使用的

停止setText()在EditText上显示Android软键盘[复制]