如何在对话框中配置自定义按钮?

2024-05-09

这里我有一个自定义对话框,里面有背景 2 ImageButton。 问题是,当我尝试为该按钮设置 onclick 侦听器时,程序将返回 NullPointerException。我不知道为什么会发生这种情况。无论如何如何将操作分配给对话框内的按钮?

暂停菜单 xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:background="@drawable/pause_menu_cropped" android:layout_gravity="center" android:gravity="center|center_horizontal">
    <TableLayout android:layout_width="wrap_content" android:id="@+id/tableLayout1" android:layout_height="wrap_content">
        <ImageButton android:src="@drawable/pause_button_option" android:layout_width="wrap_content" android:background="@drawable/pause_button_option" android:layout_height="wrap_content" android:id="@+id/btn_pause_option"></ImageButton>
        <ImageButton android:src="@drawable/pause_button_quit" android:layout_width="wrap_content" android:background="@drawable/pause_button_quit" android:layout_height="wrap_content" android:id="@+id/btn_pause_quit"></ImageButton>
    </TableLayout>
</LinearLayout>

对话代码

        Dialog pauseMenu = new Dialog(this, R.style.NewDialog);
    pauseMenu.setContentView(R.layout.pause_menu);

  ImageButton quit = (ImageButton)findViewById(R.id.btn_pause_quit);
  quit.setOnClickListener(
          new OnClickListener() {

      @Override
      public void onClick(View v) {
          TestActivity.this.finish();
      }
  });
    return pauseMenu;

代码在行中返回错误

quit.setOnClickListener();

图像按钮退出 = (ImageButton)findViewById(R.id.btn_pause_quit);

应该

ImageButton quit = (ImageButton)pauseMenu.findViewById(R.id.btn_pause_quit);

发生这种情况是因为findViewById被该活动调用,并且它没有btn_pause_quit其布局中的按钮。但你的对话框有。

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

如何在对话框中配置自定义按钮? 的相关文章

随机推荐

  • iOS:启动图像多语言

    我有一个多语言应用程序 我的问题是启动图像 根据设备的语言使用启动图像的方法是什么 有什么东西在info plist file 解决方案是像项目中的任何其他资源一样本地化 Default png 从 Xcode 的项目列表中选择 Defau
  • 如何在SpringBootTest中向Autowired testRestTemplate添加基本身份验证;春季启动 1.4

    我在 Spring Boot 1 4 之前的 OAuth 集成测试如下 更新只是为了不使用已弃用的功能 RunWith SpringRunner class SpringBootTest classes ApplicationConfigu
  • 如何正确使用Google Calendar API Events.Insert命令?

    所以我一直使用REST方法来调用Google的API 我需要将事件插入到我拥有 ID 的特定日历中 这是我发送的 POST 请求 地址 https www googleapis com calendar v3 calendars https
  • jQuery 查找 id 以total 开头的所有li

    我有以下内容 但只想循环 lines 中 id 以total 开头的行 lines li each function 有任何想法吗 Lee lines li id total each function
  • 如何检查 Gmail 标签是否有嵌套子标签?

    使用Google Apps脚本 是否有一个功能可以检查Gmail标签是否有嵌套子标签 如果标签有一个或多个子标签 我想将它们从代码序列中排除 没有直接的方法可以从 父 标签获取标签 但是使用简单的方法来获取标签非常简单getUserLabe
  • 我可以将日历事件与 Microsoft Graph API 同步吗?

    我正在使用 Microsoft Graph api 尝试从 Outlook 同步日历事件 我在看本文 https msdn microsoft com en us office office365 api calendar rest ope
  • 是否可以开发一个可以跟踪其他应用程序使用情况的应用程序?

    我很想知道是否有可能为 iOS 开发一款类似的应用程序 就像本周刚刚发布的 Android 版应用程序一样 https play google com store apps details id com appuccino Frequenc
  • 如何从 SonarQube api 获取超过 500 个问题

    我在 java 工具中使用 SonarQube API 来处理问题并向其添加注释 更改问题状态 例如不会修复 api issues search 功能的页面大小限制为最多 500 个 我有超过 500 个问题 需要阅读此内容 我想过执行多个
  • 双击事件 - 多个范围

    我正在寻找为双击事件在多个范围内进行编码的最佳方法 Private Sub Worksheet BeforeDoubleClick ByVal Target As Range Cancel As Boolean If Not Interse
  • 如何为背景图像添加内边距

    我有一个LinearLayout其中有一个背景图像 一个 9 修补的 png 文件 如何向左和右添加填充 以使背景图像不占据整个宽度 我努力了android paddingLeft and android paddingRight 但这并没
  • vue:转义并渲染 HTML 字符串?

    我正在尝试在模板中渲染一些 HTML 字符串 但我希望它们是字符串 我不想渲染 富文本 我开始于
  • g++ C++0x 枚举类编译器警告

    我一直在将可怕的 C 类型安全伪枚举重构为新的 C 0x 类型安全枚举 因为它们是way更具可读性 不管怎样 我在导出的类中使用它们 所以我明确地将它们标记为导出 enum class attribute visibility defaul
  • 如何使用 SVN/Tortoise 从 Google Code 下载代码?

    我刚刚看到一个非常酷的 WPF Twitter 客户端 我认为它是由 Herding Code 播客开发的畜牧法 http www herdingcode com called Witty http code google com p wi
  • 科学规划中的可重复性

    除了产生不正确的结果之外 科学编程中最令人担忧的事情之一就是无法重现生成的结果 哪些最佳实践有助于确保您的分析具有可重复性 在线发布原始原始数据并免费提供下载 使代码库开源并可在线下载 如果在优化中使用随机化 则重复优化多次 选择结果的最佳
  • 在 React Native 中集成 Stack、Drawer 和 Tab Navigator

    我尝试在一个项目中一起实现 Stack Drawer 和 Tab Navigator 但它没有达到我的预期 首先 创建选项卡导航器 一个是 主页 另一个是 职业 接下来 创建 Stack Navigator 并将抽屉集成到 Navigati
  • 如何在 where 子句中使用别名? [复制]

    这个问题在这里已经有答案了 可能的重复 在 WHERE 子句中引用列别名 https stackoverflow com questions 8370114 referring to a column alias in a where cl
  • 使用 System.Security.Cryptography 将 Win32 Crypto API 调用转换为 C#

    我接到一项任务 要删除我们产品的一个 dll 并将其替换为纯 C 的 dll 旧的 DLL 是 NET 2 0 托管 C C CLI 它包装了对 Win32 本机加密 API 的调用 新的 DLL 应公开具有相同名称和方法的新对象 但应使用
  • Safari 的 Javascript 与 document.write 的问题

    我的问题只发生在 Safari 上 IE FF Chrome 和 Opera 都可以完美运行 我正在向 DOM 添加一个对象 与 YouTube 的方式完全相同 具体取决于 ActiveX 或 NPAPI 因此在确定写入对象类型后 我通过以
  • JavaScript 数组中的负索引是否会影响数组长度?

    在javascript中我定义了一个像这样的数组 var arr 1 2 3 我也可以做 arr 1 4 现在如果我这样做 arr undefined 我也失去了对值的引用arr 1 所以对我来说 从逻辑上来说 arr 1 也是arr 但是
  • 如何在对话框中配置自定义按钮?

    这里我有一个自定义对话框 里面有背景 2 ImageButton 问题是 当我尝试为该按钮设置 onclick 侦听器时 程序将返回 NullPointerException 我不知道为什么会发生这种情况 无论如何如何将操作分配给对话框内的