滚动,虚拟键盘和主题的问题:java.lang.IllegalArgumentException:参数必须是此视图的后代

时间:2013-04-01 08:23:42

标签: android keyboard scroll themes

我有一个带有EditTexts的ExpandableListView。如果用户在虚拟键盘启动时尝试滚动,我会收到错误:

java.lang.IllegalArgumentException: parameter must be a descendant of this view

我试图找到解决此问题的方法,有人建议删除主题。好吧,它解决了崩溃的问题,但这次我无法编辑EditText。出现虚拟键盘(即使我有android:capitalize="characters"也是小写字母)但按下按钮时没有任何反应。

如果我使用任何主题 withFullscreen
虚拟键盘按预期工作,但如果键盘打开

滚动应用程序崩溃

如果我使用任何主题没有.Fullscreen
虚拟键盘不起作用,不会再崩溃。

键盘启动时有没有办法防止垂直滚动?还是其他任何建议?

1 个答案:

答案 0 :(得分:1)

Navneeth Gopalakrishnananswer加上:

        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) {
            }
       });

解决了这个问题。