在我问这个问题之前,我已经花了几个小时搜索和尝试不同的方法,但没有运气,这与这个问题完全相同,没有答案,我不打算重复这个问题,但我很震惊这个问题没有解决并记录在SO中,因为这个要求很普遍。
这个问题是 100% 可重现的,只需创建一个包含 EditText 的布局的 PopupWindow,然后长按 EditText,系统编辑对话框就不会出现,我知道它是一个对话框,因为它的呈现方式。我不确定这是错误还是需要打开一些开关才能使 EditText 在 PopupWindow 中正常工作。
在layout/popupwindow.xml
:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff" >
<EditText android:id="@+id/etText" android:layout_width="fill_parent" android:layout_height="wrap_content" />
</LinearLayout>
在活动中:
PopupWindow pw = new PopupWindow(getLayoutInflater().inflate(R.layout.popupwindow, null), ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT, true);
pw.setFocusable(true);
pw.setBackgroundDrawable(new BitmapDrawable());
pw.showAtLocation(getWindow().getDecorView(), Gravity.CENTER, 0, 0);
有任何想法吗?