【问题标题】:Prevent Spinner Item to Draw Behind AlertDialog防止 Spinner 项目在 AlertDialog 后面绘制
【发布时间】:2018-07-20 19:41:26
【问题描述】:

我有一个自定义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) {

        }
    });

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

【问题讨论】:

    标签: android listview spinner android-alertdialog


    【解决方案1】:

    通过从 ListView 移动到 RecyclerView 自己解决了这个问题。 ListView 的行为一定有问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      • 2013-10-03
      相关资源
      最近更新 更多