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

【Android上点击EditText将不会显示软键盘】将相本无种,男儿当自强。这篇文章主要讲述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"/>


    推荐阅读