仅在键盘弹出时警告对话框意外关闭

时间:2017-03-18 16:51:40

标签: android android-edittext alertdialog

这是我遇到的一个奇怪的人。我有一个简单的RecylcerView活动,其中包含用户定义的位置标记的单个TextViews列表。 " Home"," Work"," New York"等

如果需要,用户可向左滑动并重命名TextView。向左滑动时,会弹出一个带有EditText框的AlertDialog。我的代码适用于靠近页面顶部的任何View。但是,对于页面上较低的任何View,警报对话框会在键盘弹出窗口中关闭。看起来,我的代码不适用于源自键盘弹出窗口后面的任何RecylcerView。奇怪的。但这就是它的样子。

我已尝试将键盘切换为(1)自动弹出,(2)仅在用户点击EditText时弹出。无论哪种方式相同,当键盘弹出页面下半部分的键盘时,警报对话框会关闭。

我尝试将对话框设置为可取消(false)。没关系。同样的问题。

在我的手机和模拟器中遇到同样的问题。

Log cat显示没什么异常,应用程序没有崩溃,没有明显的错误。

任何人都曾经历过这种行为。

1 个答案:

答案 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();