Chr*_*rry 12 android popup android-edittext
我有一个活动,在屏幕上显示一些EditTexts用于用户输入.为了确保软键盘显示时我没有覆盖我的字段我已经设置了属性
android:windowSoftInputMode="adjustPan"
Run Code Online (Sandbox Code Playgroud)
我在清单中的活动.我在1时验证EditText的内容.视图失去焦点2.当用户执行'Enter'操作时.验证后,如果该值无效,我正在打电话
setError(CharSequence error)
Run Code Online (Sandbox Code Playgroud)
在EditText上,这会导致弹出窗口显示包含我传入的错误.问题是如果在软键盘显示时向上移动EditText,并且此时显示弹出窗口(验证失败),弹出窗口没有当键盘离开时,请按下EditText,它将保持在首次显示的位置.
有想法该怎么解决这个吗?这是Android中的错误吗?
Blu*_*ell 11
如果这是你所描述的,我认为这可能是一个真正的错误,所以可能值得在Android Source网站上编写它.
显然我只能想到黑客的工作!
键盘消失时覆盖:
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK &&
event.getAction() == KeyEvent.ACTION_UP) {
revalidateEditText();
return false;
}
return super.dispatchKeyEvent(event);
}
public void revalidateEditText(){
// Dismiss your origial error dialog
setError(null);
// figure out which EditText it is, you already have this code
// call your validator like in the Q
validate(editText); // or whatever your equivalent is
}
Run Code Online (Sandbox Code Playgroud)
这将重新验证您的EditText,关闭您的错误对话框并重新显示它.
那声音怎么样?
灵感来自:在EditText上获取关键事件
| 归档时间: |
|
| 查看次数: |
11280 次 |
| 最近记录: |