EditText上的onClick不显示虚拟键盘(EditText onClick not show

2019-07-19 17:25发布

如果我在我的EditText点击,虚拟键盘简单不显示出来。 光标被示出,但没有键盘上键入。

我甚至用手动打开,但只是没有工作尝试。

这里是我的代码:

public class CreateNote extends Activity {
EditText titleEdit;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.createnote);
    titleEdit = (EditText) findViewById(R.id.titleEdit);
    titleEdit.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            InputMethodManager imm = (InputMethodManager) CreateNote.this
                    .getSystemService(Service.INPUT_METHOD_SERVICE);
            imm.showSoftInput(titleEdit, 0);
        }
    });
    }
   }

布局的片段:

 <FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#989898" >

    <EditText
        android:id="@+id/titleEdit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/edittextdrawale"
        android:ems="10"
        android:textColor="#fff"
        android:textColorHint="#fff" >

        <requestFocus />
    </EditText>

</FrameLayout>

有什么能玩捉迷藏的原因,寻求我的虚拟键盘? 我测试在真机上,而不是在模拟器。

Answer 1:

试试这个,它为我工作。

EditText etHorseName = (EditText) getView().findViewById(R.id.horseName);
etHorseName.clearFocus();

onCreate()或者你想要的。



Answer 2:

后期的答案,但在这里是如何解决这个问题无需添加代码,只需从你的XML删除此:

<requestFocus />

不知道为什么键盘不出来时,这是设置...但它确实表明,如果你第一次失去了焦点,然后点击编辑文本。 我有这个问题在Android 2.3.6,但它的工作4.1.2,所以也许这是一个早期的错误。



Answer 3:

这仅仅是一个默认的行为,你不要以为做手工,从你的代码删除下面的部分。

titleEdit.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

        InputMethodManager imm = (InputMethodManager) CreateNote.this
                .getSystemService(Service.INPUT_METHOD_SERVICE);
        imm.showSoftInput(titleEdit, 0);
    }
});


Answer 4:

试图隐藏和显示键盘使用此代码:

InputMethodManager imm = (InputMethodManager) this.getSystemService(Service.INPUT_METHOD_SERVICE);
// To show keyboard
imm.showSoftInput(titleEdit, 0);
// To hide keyboard
imm.hideSoftInputFromWindow(titleEdit.getWindowToken(), 0);  


文章来源: EditText onClick not shows Virtual Keyboard