这是我遇到的一个奇怪的人。我有一个简单的RecylcerView
活动,其中包含用户定义的位置标记的单个TextViews
列表。 " Home"," Work"," New York"等
如果需要,用户可向左滑动并重命名TextView
。向左滑动时,会弹出一个带有EditText
框的AlertDialog。我的代码适用于靠近页面顶部的任何View
。但是,对于页面上较低的任何View
,警报对话框会在键盘弹出窗口中关闭。看起来,我的代码不适用于源自键盘弹出窗口后面的任何RecylcerView
。奇怪的。但这就是它的样子。
我已尝试将键盘切换为(1)自动弹出,(2)仅在用户点击EditText
时弹出。无论哪种方式相同,当键盘弹出页面下半部分的键盘时,警报对话框会关闭。
我尝试将对话框设置为可取消(false)。没关系。同样的问题。
在我的手机和模拟器中遇到同样的问题。
Log cat显示没什么异常,应用程序没有崩溃,没有明显的错误。
任何人都曾经历过这种行为。
答案 0 :(得分:0)
我找到了解决方案。不知道它为什么会起作用,但确实如此。
在onCreate()中我添加了这个
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
但仅此一点没有自动弹出键盘(这是我想要的行为),所以我需要在我的AlertBuilder上创建一个Dialog来添加第二层setSoftInputMode
AlertDialog dialog = builder.create();
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
dialog.show();