来自 AlertDialog 的 findViewById(使用自定义布局)- NullPointerException

2024-01-12

我正在尝试从 AlertDialog 中的 EditTexts 中获取文本,该对话框的创建方式如下所示。问题是,我无法检索文本视图。我得到的只是一个空值。有任何想法吗?

    final EditText editFirstname = (EditText) findViewById(R.id.editFirstname);
    final EditText editLastname = (EditText) findViewById(R.id.editLastname);

    bttAddPlayer.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            AlertDialog.Builder builder = new AlertDialog.Builder(context);

            LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            builder.setView(layoutInflater.inflate(R.layout.dialog_add_player, null))
                    .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int id) {
                            databaseHelper.addPlayer(editFirstname.getText().toString(),editLastname.getText().toString());
                            playerAdapter.notifyDataSetChanged();
                        }
                    })
                    .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();
                        }
                    });
            AlertDialog alertDialog = builder.create();
            alertDialog.show();
        }
    });
}

}


您需要在为警报对话框充气的视图内部搜索,假设您充气的视图如下:

    View view = inflater.inflate(R.layout.dialog_add_player, container);

那么你需要做

EditText editFirstName = (EditText) view.findViewById(R.id.editFirstName);
EditText editLastName  = (EditText) view.findViewById(R.id.editLastName);

看起来现在您正在尝试为不存在的东西实例化一个变量,您没有参考该变量在哪里EditText实际上已定位,它正在尝试查看当前视图的内部,该视图不包含EditText.

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

来自 AlertDialog 的 findViewById(使用自定义布局)- NullPointerException 的相关文章

  • android - EditText 打字速度很慢

    我的 EditText 在打字时响应速度很慢 这种滞后现象足以让我找到解决方案 我做了一些研究 发现了一个 SO 线程输入文本时 EditText 滞后 https stackoverflow com questions 6173591 a
  • 任务“:app:dexDebug”执行失败

    我目前正在处理我的项目 我决定将我的 Android Studio 更新到新版本 但在我导入项目后 它显示如下错误 Information Gradle tasks app assembleDebug app preBuild UP TO
  • 未找到 Gradle DSL 方法:“versionCode()”

    构建我的 Android 项目时遇到问题 我使用Grgit https github com ajoberstar grgit填写versionCode and versionName在 gradle 中 一切工作正常 直到我将 Andro
  • 如何改变android中menuItem的背景颜色?

    我正在以编程方式将菜单项添加到菜单中 我想在选择特定项目时添加背景颜色 如何为 menuItem 添加背景 您的回答将不胜感激 虽然其他答案提供了更改样式 这会影响all菜单项 据我了解 需要更改一个菜单项 我建议你使用android ac
  • Mailgun POST /messages API 总是抛出 401 禁止

    我正在尝试使用改造库在 Android 中发送 Mailgun POST messages API 请求 以下是改装要求 HTTP POSThttps api key xxx v3 sandboxxxx messages https api
  • 更改 AChartEngine 中的图例大小

    我想专门更改饼图的图例大小输出 我已经尝试了所有可以找到的 AChartEngine 方法 但没有一个只能更改图例文本大小 我必须重写 onDraw 函数吗 如果是这样 怎么办 要设置图例高度 请使用 renderer setLegendH
  • 在 Android 中将应用程序上下文保存到静态变量是否安全?

    我知道在 Android 上使用静态变量是相当危险的 特别是当您将它们引用到活动时 但是 如果我有一个扩展 Application 的类 我们称此类为 App 引用此类的实例是否安全 如果是这样 任何其他类对应用程序上下文进行任何类型的引用
  • MI设备中即使应用程序被杀死,如何运行后台服务

    您好 我正在使用 alaram 管理器运行后台服务 它工作正常 但对于某些 mi 设备 后台服务无法工作 我使用了服务 但它无法工作 如何在 mi 中运行我的后台服务 MI UI有自己的安全选项 所以你需要的不仅仅是上面提到的粘性服务 你需
  • 服务器到 Firebase HTTP POST 结果为响应消息 200

    使用 Java 代码 向下滚动查看 我使用 FCM 向我的 Android 发送通知消息 当提供正确的服务器密钥令牌时 我收到如下所示的响应消息 之后从 FCM 收到以下响应消息 Response 200 Success Message m
  • 如何检测 Google Play 上是否有我的应用程序的更新? [复制]

    这个问题在这里已经有答案了 有没有办法以编程方式检查 Google Play 上我的应用程序是否有更新 以便通知用户 我知道 android google play 有自动通知 但我想使用我自己的通知 弹出消息来更新可用性 有点像 Vibe
  • 在 Android 上的测试用例之外运行 ExtractDecodeEditEncodeMuxTest

    我正在尝试添加在 Android 上提取 解码 编辑 编码和混合视频的功能 因此 我发现了一些非常有用的实现 它是Android CTS的一部分ExtractDecodeEditEncodeMuxTest https android goo
  • invalidateOptionsMenu 在片段中不起作用

    显示或隐藏项目ActionBar根据文本中是否有文本EditText or not 所以 我做了以下事情 public class NounSearch extends android app Fragment EditText seach
  • 我们可以在 android studio 中拥有没有 app 文件夹的项目,并将所有内容(java/res/etc)放在根目录中吗

    我想知道在 Android studio 中是否可以有没有应用程序模块 应用程序或任何其他名称 的 android 项目 意味着我可以在项目本身的根目录中创建包和资源 而不是使用应用程序模块 编辑 结构看起来像 MyApp idea gra
  • 在 Android 中使用 iText 读取或打开 PDF 文件

    我是 Android 应用程序开发新手 使用 iText 我完成了 PDF 创建并在创建的文件上写入 现在我想阅读该 PDF 文件 如何使用 iText 打开或阅读 PDF 文件 例子将是可观的 那么提前 哪个是渲染 PDF 文件的最佳库
  • 模拟器:进程已完成,退出代码为 134(被信号 6:SIGABRT 中断)

    我最近刚刚开始在 Mac 上下载 Android Studio 版本 3 0 1 但收到以下错误 模拟器 进程已完成 退出代码为 134 被信号 6 SIGABRT 中断 我按照 Android Studio 教程操作并能够运行模拟器 但在
  • 无法在 Android 模拟器中安装 apk

    我正在尝试通过 adb shell 在 ICS 模拟器中安装 apk 从一个站点下载 但出现以下错误 失败 INSTALL FAILED UID CHANGED 可能是什么问题 只需 rm r 有问题的数据目录即可 如果您在安装时遇到此错误
  • Android:如何使视图增长以填充可用空间?

    这看起来很简单 但我不知道该怎么做 我有一个带有 EditText 和两个 ImageButtons 的水平布局 我希望 ImageButtons 具有固定大小 并且 EditText 占据布局中的剩余空间 如何才能做到这一点
  • Android:单一活动,多个视图

    我不是 Android 专业人士 尽管我开发了一个包含 50 多个活动的应用程序 这使得该应用程序非常庞大 经过8周的开发 现在出现了一些问题 导致应用程序难以维护和升级 我正在处理的主要问题是 我无法将对象引用传递给活动的构造函数 事实上
  • Google Android Drive api 在已安装版本上登录失败

    我开发了一个使用 GoogleDrive api 的 Android 应用程序 当处于调试状态或运行调试版本时 应用程序 工作正常 并正确验证附加的谷歌帐户 等 当我构建发行版本时 使用我的签名密钥 并且 安装apk文件 当我运行时 Goo
  • OpenGL ES 2.0 屏幕闪烁

    我面临着一个大问题 我正在使用带有 Android 4 0 3 的 Transformer tf101 选项卡 我的应用程序使用自定义 OpenGL ES 2 0 表面 我正在用纹理渲染多个平面 该纹理大约发生变化 每秒 20 次 并通过传

随机推荐

  • XCode:在故事板编辑器中移动 UI 元素

    是否可以锁定或冻结故事板编辑器中的元素 以便在单击和拖动时忽略它们 我的问题是 我在覆盖整个窗口的两个大 UIView 下有几个元素 因此 为了例如移动它们下面的按钮 我首先必须将大视图移开 移动按钮 然后将它们移回来 有没有更好的办法 当
  • 如何在 Mifare Ultralight C(使用 Android)上使用安全性?

    我正在尝试开发一个使用 MF0ICU2 标签 Mifare Ultralight C 功能 特别是读取保护 的 Android 应用程序 该标签与 Mifare DESFire EV1 兼容 在 Android 类中 MifareUltra
  • 在 CSS 中选择相邻的和之前的兄弟姐妹

    比如说我有以下 HTML ul li a href a A a li li a href b B a li li class myclass a href c C a li li a href d D a li li a href e E
  • Java String.split() 有时会给出空白字符串

    我正在制作一个基于文本的骰子滚筒 它接受像 2d10 5 这样的字符串 并返回一个字符串作为掷骰的结果 我的问题出现在分词器中 它将字符串分割成有用的部分 以便我解析成信息 String tokens message split dk 这产
  • SQLAlchemy 验证 SSL 连接

    我想验证 SQLAlchemy 在使用时设置的 SSL 连接create engine连接到 PostgreSQL 数据库 例如 如果我有以下 Python 3 代码 from sqlalchemy import create engine
  • 无法解析方法startActivity()

    我是 Android 开发新手 在更改活动时遇到了一些问题 我正在尝试从方法内更改活动 但收到错误cannot resolve method startActivity并在参数结束时出现错误Cannot resolve constructo
  • VueJS webpack PWA 资产图标 manifest.json

    我配置了我的 PWAmanifest json in vue config js 如下所示 如何配置 PWA 图标以引用内部的图像assets folder module exports pwa manifestOptions name p
  • 从 Pandas 数据框中删除“主导”行(所有值都低于任何其他行的值的行)

    编辑 为了清楚起见更改了示例 df 我有一个数据框 类似于下面给出的数据框 除了真实的数据框有几千行和列 并且值是浮点数 df pd DataFrame 6 5 4 3 8 6 5 4 3 6 1 1 3 9 5 0 1 2 7 4 2 0
  • WSL2 Docker Linux 卷权限问题

    我正在使用 Docker 构建 Jekyll 网站 我正在使用 Windows 10 和 WSL2 以及 Debian 如果我在 Windows 环境中从 Powershell 运行以下命令 docker run rm label jeky
  • 如何使用 SIGSEGV 信号处理程序调试程序

    我正在为应用程序编写一个插件 有时会抛出 SIGSEGV 然而 应用程序捕获信号 SIGSEGV 换句话说 该插件是一个动态库 该错误发生在我的插件和动态库中 但应用程序处理 sSIGSEGV 并正常退出 因此 对我来说调试并获取所有堆栈帧
  • SQL Server 中的 IGNORE_DUP_KEY 选项

    我在 MSDN 和 Google 上做了很多搜索 但看起来像描述IGNORE DUP KEY选择非常有限 我的困惑 Is IGNORE DUP KEY选项 一个列的选项 为了一张桌子 对于几列 对于索引 使索引唯一 If set IGNOR
  • Android - 如何在录音时添加增益控制

    我为录音机应用程序工作 想添加增益控制 但我不知道该怎么做 我可以访问音频缓冲区 但我不知道如何使声音更大或更慢 我看到另一个应用程序有一个搜索栏 用于从特定范围内选择分贝 aRecorder read buffer 0 buffer le
  • 如何获取套接字的主机名?

    当我从连接的套接字接收到某个事件时 我必须发送一个带有我的主机名和端口作为参数的请求 我希望能够从套接字对象检索此信息 不幸的是 关于这方面的文档很少 我似乎无法找出这是否以及如何可能 那么 是否可以在 Socket io 中执行类似的操作
  • 如何在 中显示文件路径?

    I tried
  • Get-InstalledModule 和 Get-Module -ListAvailable 之间有什么区别?

    据我所知 他们做了同样的事情 那么使用其中一种而不是另一种的原因是什么 抱歉 所以问题规则引擎 不知道还能说什么 Get InstalledModule是其一部分PowerShellGet并将使用列出已安装的模块Install Module
  • Excel IFERROR 的 R 等效项是什么?

    我正在尝试将 IFERROR 条件放入 R 中 就像 Excel IFERROR 函数一样 我正在构建一个随机森林模型 为了进行微调 我使用tuneRF函数 它有助于给出最佳的 mtry 参数 Selecting Optimal MTRY
  • 将 Python 脚本作为 Windows 后台进程运行 [重复]

    这个问题在这里已经有答案了 我一直在尝试编写一个从串行端口读取数据的Python脚本 它在命令行中运行良好 但我需要它作为后台进程运行 而无需任何命令行界面 该脚本有一个 while 循环 它从串行端口读取下一个数据字节并相应地模拟按键 为
  • 使用 ANSI 转义序列获取终端大小?

    在研究这个问题时 在评论中我发现有人提到 ANSI 转义码来获取终端大小 由于我将使用 ANSI 转义序列 我认为这将是一种比获取终端大小更优雅的方法ioctl or getenv 这是一篇关于ioctl https stackoverfl
  • 如何使用 Tailwind 修改 svg 图标颜色

    我正在使用 TailwindCSS 并且想要更改 svg 的颜色 没有 Tailwind 这个问题之前已经被问过here https stackoverflow com questions 22252472 how to change th
  • 来自 AlertDialog 的 findViewById(使用自定义布局)- NullPointerException

    我正在尝试从 AlertDialog 中的 EditTexts 中获取文本 该对话框的创建方式如下所示 问题是 我无法检索文本视图 我得到的只是一个空值 有任何想法吗 final EditText editFirstname EditTex