我有一个带有EditTexts的ExpandableListView。如果用户在虚拟键盘启动时尝试滚动,我会收到错误:
java.lang.IllegalArgumentException: parameter must be a descendant of this view
我试图找到解决此问题的方法,有人建议删除主题。好吧,它解决了崩溃的问题,但这次我无法编辑EditText。出现虚拟键盘(即使我有android:capitalize="characters"
也是小写字母)但按下按钮时没有任何反应。
如果我使用任何主题 withFullscreen :
虚拟键盘按预期工作,但如果键盘打开
如果我使用任何主题没有.Fullscreen :
虚拟键盘不起作用,不会再崩溃。
键盘启动时有没有办法防止垂直滚动?还是其他任何建议?
答案 0 :(得分:1)
Navneeth Gopalakrishnan的answer加上:
expandList.setOnScrollListener(new OnScrollListener() {
public void onScrollStateChanged(AbsListView view, int scrollState) {
InputMethodManager inputManager = (InputMethodManager) MyApplication.getAppContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if (getWindow().getCurrentFocus() != null) {
inputManager.hideSoftInputFromWindow(getWindow().getCurrentFocus().getWindowToken(), 0);
}
}
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
}
});
解决了这个问题。