防止 Spinner Item 在 AlertDialog 后面绘制

Prevent Spinner Item to Draw Behind AlertDialog

我有一个自定义 AlertDialog,其中一个视图填充了 DialogFragment。此片段包含一个 ListView,其中包含一个 Spinner。请看这张截图:

问题是当我滚动项目和 select 微调器时,它偶尔会在对话框后面绘制项目列表,如下所示:

我想不知何故,当列表仍在滚动时,由 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) {

        }
    });

但是,问题仍然存在。我该如何解决这个问题?

通过从 ListView 移动到 RecyclerView 自己解决了它。 ListView 的行为

一定有问题