11
Android:对话框中的EditText不会弹出软键盘
因此,我遇到了一个常见问题,那就是对话框中的EditText在获得焦点时没有显示。我已经看到了几种变通方法,例如在该线程,这个和这个(以及更多)中,但是我从来没有见过令人满意的解释,为什么会首先发生这种情况。 我更希望让android使用自己的默认行为来编辑文本而不是构建自己的默认行为,但是似乎每个人(在那些线程中)都已经接受了Dialogs中的EditTexts的默认行为是仅提供光标而没有键盘。为什么会这样呢? 记录下来,这些变通办法似乎都不对我有用-我能够获得的最接近的结果是强制键盘出现在对话框下面(使用InputMethodManager.toggleSoftKeyboard(*))。我的特定配置是API15,EditText显示在AlertDialog中ListView的页脚中。设置了EditText android:focusable =“ true”,并且onFocusChangeListener正在接收焦点事件。 编辑: 根据要求,这是我正在使用的特定代码段。我不会打扰整个布局,但是在这个特定的应用程序中,EditText的出现是响应按下对话框上的按钮(类似于动作视图)。它包含在RelativeLayout中,默认情况下其可见性为“ gone”: <RelativeLayout android:id="@+id/relLay" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:visibility="gone" android:layout_marginTop="5dp" android:layout_marginBottom="5dp"> <ImageButton android:id="@+id/cancelBut" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:background="@color/transparent" android:src="@drawable/cancelButton" android:layout_margin="5dp"/> <ImageButton android:id="@+id/okBut" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/cancelBut" android:background="@color/transparent" android:src="@drawable/okButton" android:layout_margin="5dp" /> <EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" android:focusable="true" android:layout_toLeftOf="@id/okBut"/> </RelativeLayout> 生成此代码的代码将relativeLayout的可见性设置为“ Visible”(并隐藏其他UI元素)。这应该是足够的,当得到的EditText重点,根据我的EditText经验拉起键盘。但是,由于某些原因,情况并非如此。我可以设置以下onFocusChangeListener: edit_text.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void …