Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android EditText.setError()弹出窗口位置_Android_Android Layout_Android Edittext_Scrollview - Fatal编程技术网

Android EditText.setError()弹出窗口位置

Android EditText.setError()弹出窗口位置,android,android-layout,android-edittext,scrollview,Android,Android Layout,Android Edittext,Scrollview,我使用的是V16API,在屏幕键盘显示时弹出窗口的位置有问题 第一个问题是,如果EditText位于屏幕底部,当我触摸该字段以打开它进行编辑时,弹出窗口显示在控件下方,并且随着键盘的出现而立即覆盖。它不会将自身重新定位到EditText上方,直到按键触发我的验证代码以再次触发新值 第二个问题是,当我关闭键盘时,包含文本的ScrollView从其自身定位的位置向下滚动,以显示键盘上方的EditText,弹出窗口将保留在屏幕的上半部分,而不是EditText所在的位置,直到我触摸屏幕上的其他内容屏幕

我使用的是V16API,在屏幕键盘显示时弹出窗口的位置有问题

第一个问题是,如果
EditText
位于屏幕底部,当我触摸该字段以打开它进行编辑时,弹出窗口显示在控件下方,并且随着键盘的出现而立即覆盖。它不会将自身重新定位到
EditText
上方,直到按键触发我的验证代码以再次触发新值


第二个问题是,当我关闭键盘时,包含文本的
ScrollView
从其自身定位的位置向下滚动,以显示键盘上方的
EditText
,弹出窗口将保留在屏幕的上半部分,而不是
EditText
所在的位置,直到我触摸屏幕上的其他内容屏幕(触发ScrollView进行重画???。

不幸的是,弹出窗口存在如下各种问题:(

也许在您的情况下,一个简单的解决方案是在键盘显示并关闭时强制使UI无效?无法回忆如果EditText无效,弹出窗口是否会重新定位,但值得尝试,因为替代方法可能是重新实现


在github上查看我的android强大验证库,它会重新实现……尽管有它自己的问题——如果你走这条路,为什么不帮我做点贡献;)

你在github上的位置在哪里?对“straya”进行用户搜索时没有显示任何内容。editText或其父项的无效不会触发在正确位置重新绘制弹出窗口。抱歉,Dan,本以为您可以搜索项目名称(您可以有;P),这里是链接:嗯,好的,所以失效失败,但是再次设置setError文本怎么样?也许这会产生错误弹出窗口的重画?我尝试重置键盘显示时触发的事件中的错误文本(以及之后的常规文本)。令人困惑的是,两者都阻止了ScrollView的滚动;将编辑文本完全放在键盘下。