0

我无法使键盘在editText 上动态可见。

            //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 代码:

        <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"

            />

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

4

1 回答 1

0

这里有几件事可以尝试:

一,确保 editText 实际上获得焦点。添加一个 OnFocusChangeListener,然后在侦听器中放置一个断点或生成一些跟踪输出。

第二,在请求焦点和显示键盘之间延迟。像这样:

post (new Runnable ()
{
  @Override
  public void run()
  {
    final InputMethodManager mgr = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    mgr.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
  }
});
于 2013-10-20T18:19:52.650 回答