android dialog 怎样自动弹出输入法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android dialog 怎样自动弹出输入法相关的知识,希望对你有一定的参考价值。

在Dialog显示以后,让可编辑的控件requestFocus一下,这样,就可以自动弹出输入法了! 参考技术A android dialog自动弹出输入法,主要的方式,让dialog里的控件一开始就获得焦点,自动弹出键盘,如下代码:
public void onResume()
super.onResume();
log.info("onResume");
(new Handler()).postDelayed(new Runnable()
public void run()
log.info("postDelayed");
InputMethodManager inManager = (InputMethodManager)editTextPassword.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

,500);
参考技术B 在Dialog显示以后,让可编辑的控件requestFocus一下,这样,就可以自动弹出输入法了! 参考技术C 点击输入框,自动打开输入法 干嘛还要程序控制 参考技术D elijan

qt for android 怎样弹出键盘

可以通过QApplication的 focusChanged ( QWidget * old, QWidget * now )信号,这样就不再麻烦了。
然后再强制转换下,判断下是不是LineEdit,TextEdit这些。

另外有一个开源的keyBoard是用Qt写的,可以用用,或者借鉴下他怎么获取输入焦点的.
参考技术A Android软键盘强制弹出及隐藏输入法的方法:
很多应用中对于一个界面比如进入搜索界面或者修改信息等等情况,为了用户体验应该自动弹出软键盘而不是让用户主动点击输入框才弹出(因为用户进入该界面必然是为了更改信息)。具体实现这种效果的代码如下:
java代码
EditText editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
editText.requestFocus();
InputMethodManager inputManager =
(InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0);
首先要对指定的输入框请求焦点。然后调用输入管理器弹出软键盘。
警告:对于刚跳到一个新的界面就要弹出软键盘的情况上述代码可能由于界面为加载完全而无法弹出软键盘。此时应该适当的延迟弹出软键盘如998毫秒(保证界面的数据加载完成)。实例代码如下:
java代码:
Timer timer = new Timer();
timer.schedule(new TimerTask()

public void run()

InputMethodManager inputManager =
(InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0);

,
998);

以上是关于android dialog 怎样自动弹出输入法的主要内容,如果未能解决你的问题,请参考以下文章

android 怎样设置单击一个按钮,不会重复弹出dialog

android 怎样设置单击一个按钮,不会重复弹出dialog

android Dialog如何实现点击某一处,Dialog就显示地那个地方?

android中自定义的dialog中的EditText无法弹出输入法解决方案

android怎样自定义dialog

android怎样自定义dialog