Android 动态创建按钮:setOnClickListener 不起作用

2024-03-19

The onClick永不起火!为什么不?请帮我。

for(int i = 0; i < 12; i++) {
    String title = "Button" + i;
    Button sliderButton = new Button(this);
    sliderButton.setText(title);
    glideMenuTray.addView(sliderButton,100,40);

    sliderButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Log.d("gm", "Tapped ");
        }
    });
}

我不是这样的专家,但这可能与垃圾收集和 OnClickListeners 超出范围有关。

虽然我认为您不能使用 Dimitar 提到的超级简单的 onClickListeners 方法,但您可能可以使用他链接到讨论的部分的中间方法,即使它不是一种新方法。重复一下这里的示例代码,它是:

View.OnClickListener handler = View.OnClickListener() {
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.myButton: // doStuff
                break;
            case R.id.myOtherButton: // doStuff
                break;
        }
    }
}

findViewById(R.id.myButton).setOnClickListener(handler);
findViewById(R.id.myOtherButton).setOnClickListener(handler);

如果唯一区分按钮的是它们的标题文本,那么您可以在主 onClick 方法中使用它来区分它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 动态创建按钮:setOnClickListener 不起作用 的相关文章

随机推荐

  • iPhone客户端证书

    我想验证我正在编写的应用程序是否正在 iPhone 上运行 会是什么 完美之处在于 Apple 将 SSL 客户端证书嵌入到每台 iPhone 中 该证书可以由接收服务器进行身份验证 我是这种情况吗 我还没有开始研究这个 我会更新我发现的任
  • 计算没有两个相邻字符相同的所有排列

    给定一个仅包含不同数量的数字 1 2 3 和 4 的序列 例如 13244 4442 等 我想计算其所有排列 以便没有两个相邻的数字是相同的 我相信它是 O N N 并且想知道是否有更好的 有人有主意吗 class Ideone stati
  • Python:删除子类中的类属性

    我有一个子类 我想要它not包括基类上存在的类属性 我尝试了这个 但它不起作用 gt gt gt class A object x 5 gt gt gt class B A del x Traceback most recent call
  • javascript 从http响应保存文件(Web Api HttpResponseMessage)

    所以当我尝试从服务器响应保存文件时遇到问题 当我尝试从浏览器中的 url 下载文件时 一切正常 但当我尝试从 clint 端发送请求时 文件已保存 但文件中存在 Object object 如果是 PDF 文件 则无法打开 请求必须包含一个
  • 如何使用 LLVM IRBuilder 从外部 DLL 调用函数?

    如何从 LLVM 调用外部 DLL 的函数 如何从 LLVM 代码调用 DLL 文件中定义的函数 由于您的问题缺少重要信息 我猜您想实现以下目标 我猜你会使用 c c 接口并且该函数有一个签名void fun void 我还猜测您将使用 L
  • 如何在离子中滚动到页面顶部

    目前我正在 javascript 和 angular js 上的 ionic 框架中工作 我只是放置搜索框并呈现客户列表 但假设在第一次尝试中我可以使用 a 进行搜索 它会显示具有 alpha a 的所有项目 但问题是当我向下滚动查看搜索结
  • 如何定义状态?

    有谁有一个好的定义state在网络应用程序的上下文中 更具体地说 什么是state在 React 的上下文中意味着 这与第一个定义有什么不同吗 我看到 状态 这个术语在 React 开发中被大量使用 但我一直无法找到一个可靠 简洁的定义 两
  • 我可以在 SQL Server Management Studio 中拥有多行选项卡吗

    我想知道是否可以将 SQL Server 设置为具有多行文件 查询选项卡 我有很多查询想要在它们之间切换 并且可以将它们移动到不同的水平组 但我认为两行比左侧下拉打开查询的大列表的引脚更容易导航 如果您固定足够的代码窗口来填满顶部栏 则 V
  • 使用自定义主干集合构建 Fuelux Datagrid 数据源

    我正在尝试构建启用排序 搜索和分页的数据网格 因此 我使用fuelux datagrid 我的主干视图如下所示 var app app function use strict The Players view app PlayersView
  • Linux / Bash 中随机打乱行

    我在linux下有一些文件 例如2 我需要将文件混入一个文件中 例如 cat file1 line 1 line 2 line 3 line 4 line 5 line 6 line 7 line 8 and cat file2 linea
  • 使用线程循环更新 JFrame

    我对在循环中使用线程进行了一些广泛的搜索 虽然我了解单独线程如何工作的概念 但我似乎仍然无法掌握如何在我的简单应用程序中实现它 我的申请由一个带有文本框的表单组成 每次循环迭代时都需要更新此文本框 它以按下按钮开始 但循环也应以按下停止按钮
  • Javascript:无法获取新创建元素的高度

    使用新元素 例如 body append html 更新 DOM 后 我无法立即获取新更新元素的高度 例如 body height 部分修复是设置时间间隔并获取时间间隔结束时的高度 setTimeout alert body height
  • ncurses 终端大小

    如何找到 ncurses 应用程序的终端宽度和高度 void getmaxyx WINDOW win int y int x http linux die net man 3 getmaxyx我相信 另外 这可能会有所帮助 在C中获取终端宽
  • 使用多处理时合并 Pandas DataFrame

    我正在使用多重处理 并为每个进程生成一个 pandas DataFrame 我想将它们合并在一起并输出数据 以下策略似乎几乎有效 但是当尝试使用以下命令读取数据时df read csv 它只使用第一个name作为列标题 from multi
  • argparse 的非常基本的例子? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试编写最基本的代码来显示 arg 解析的工作原理 以便我能够理解它 我尝试阅读有关 argparse 的教程 但它非常令人困惑
  • 如何在 maven 的 java.library.path 变量中包含本机库

    我正在尝试为我的应用程序使用 JNotify 它有以下要求 只需使用以下命令运行 jar 文件即可测试 JNotify java Djava library path jar jnotify VER jar 目录 然后 JNotify 将监
  • Xpath local-name() 中的属性

    这是我的 xml 文件的一个小样本
  • Scala 中的 LazyList 和 Stream 有什么区别?

    我注意到Stream已弃用Scala 2 13他们建议使用LazyList 他们还说 使用 LazyList 完全惰性 而不是 Stream 仅具有惰性尾部 它到底是什么意思 他们为什么弃用Stream NthPortal 贡献者LazyL
  • 如何在 Firebase 中将电话与电子邮件和密码身份验证关联?

    我正在尝试创建一个应用程序 用户可以使用用户名和密码进行注册 然后输入电话号码 接收 OTP 代码并填写注册表 但有一个问题 如果您这样做 Firebase 会创建两个不同的用户 我如何组合 加入 它们 使其显示为一个帐户 输入电话号码的活
  • Android 动态创建按钮:setOnClickListener 不起作用

    The onClick永不起火 为什么不 请帮我 for int i 0 i lt 12 i String title Button i Button sliderButton new Button this sliderButton se