防止微调项拖到AlertDialog后面

时间:2018-07-16 03:13:45

标签: android listview spinner alertdialog

我有一个自定义AlertDialog,视图中填充了DialogFragment。该片段包含一个ListView,其中包含一个Spinner。请看以下屏幕截图:

问题是,当我滚动浏览项目并选择微调器时,偶尔会在对话框后面绘制其项目列表,如下所示:

我认为以某种方式,当列表仍在滚动时,由SCROLL_STATE_FLING状态定义,该项有点失去其父项一段时间。

我在想一种解决方案,该方法是在滚动完成之前将视图设置为不聚焦,如下所示:

    listView.setOnScrollListener(new AbsListView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            if (scrollState == SCROLL_STATE_IDLE) {
                view.setFocusable(true);
            } else {
                view.setFocusable(false);
            }
        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

        }
    });

但是,问题仍然存在。我该怎么解决?

1 个答案:

答案 0 :(得分:0)

我自己从ListView移到RecyclerView来解决。 ListView的行为必定有事