首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓,无法使键盘在InputMethodManager中可见

安卓,无法使键盘在InputMethodManager中可见
EN

Stack Overflow用户
提问于 2013-10-20 22:47:40
回答 1查看 362关注 0票数 0

我不能使键盘在editText上动态可见。

代码语言:javascript
复制
            //should show the Keyboard
        editText.setFocusableInTouchMode(true);
        editText.requestFocus();

        final InputMethodManager mgr = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        mgr.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);



            //or this also does not work
        mgr.toggleSoftInputFromWindow(editText.getWindowToken(),InputMethodManager.SHOW_FORCED ,InputMethodManager.HIDE_IMPLICIT_ONLY);

下面是EditText的xml代码:

代码语言:javascript
复制
        <EditText 
            android:id="@+id/searchHeaderView"
            android:textSize="13dip"
            android:layout_marginLeft="10dip"
            android:layout_marginRight="10dip"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:padding="5dip"
            android:background="#00000000"
            android:hint="@string/searchViewHint"

            />

在同一个应用程序的另一个活动中,它与另一个EditText一起工作。

EN

回答 1

Stack Overflow用户

发布于 2013-10-21 02:19:53

这里有几个可以尝试的东西:

首先,要确保editText确实得到了关注。添加一个OnFocusChangeListener,然后在侦听器中放置一个断点或生成一些跟踪输出。

第二,在请求焦点和显示键盘之间设置一个延迟。如下所示:

代码语言:javascript
复制
post (new Runnable ()
{
  @Override
  public void run()
  {
    final InputMethodManager mgr = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    mgr.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
  }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19478749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档