gpt4 book ai didi

android - 关闭弹出窗口时如何处理 ListView 上的触摸事件

转载 作者:行者123 更新时间:2023-11-30 01:11:01 25 4
gpt4 key购买 nike

我有一个 ListView 。每个列表项都是可点击的。每个列表项本身就是一个布局。

按下按钮时,我会在 listView 的顶部显示一个弹出窗口。我设置了

    popupWindow.setOutsideTouchable(true);
popupWindow.setBackgroundDrawable(new BitmapDrawable(getResources(), ""));
PopupWindow.OnDismissListener dismissListener = new PopupWindow.OnDismissListener(){
@Override
public void onDismiss() {
popWindowVisible = false;
popwindow_dim_bg.setVisibility(View.GONE);

}
};
popupWindow.setOnDismissListener(dismissListener);

现在我的问题是当我在 popupWindow 之外触摸到 listView 时,android 执行 listView 项目的点击监听器

而我想要的行为是在出现弹出窗口时关闭弹出窗口,否则让点击通过。

我在 listView 上尝试了 setOnTouchListener(return true),但这没有帮助。

你能帮我解决这个问题吗?

最佳答案

据我所知,当你在对话框外点击时,如果有view,就会执行view的onclick监听。

为了覆盖它,使用 bool 标志

您必须执行以下操作:

  1. boolean isDialogOpen = false;

  2. 在按钮点击事件中,设置 isDialogOpen = true

  3. 在 onDismiss 内部设置 isDialogOpen = false

  4. 在您的 ListView 项中单击,添加一个 if block

    如果(!isDialogOpen){

    //你的东西在这里....

关于android - 关闭弹出窗口时如何处理 ListView 上的触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38426655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com