【Android基础篇】AlertDialog自定义setView方法的控件响应方法

2023-11-07

Android使用AlertDialog弹出对话框时,如果需要自定义对话框界面,就需要用到setView来设置界面,此时,界面上一般都会有需响应或需记录结果的控件,这就需要查找控件了。下面就是一个在自定义对话框中查找控件并进行响应的实例:

LayoutInflater layoutInflater = LayoutInflater.from(mContext);
View newPlanDialog = layoutInflater.inflate(R.layout.new_plan_dialog, 
                        (ViewGroup)findViewById(R.id.LinearLayout_newplan));

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this)
    .setTitle("添加新计划")
    .setIcon(R.drawable.ic_launcher)
    .setView(newPlanDialog)
;

builder.setPositiveButton("确定", new android.content.DialogInterface.OnClickListener(){

    @Override
    public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
        //Toast.makeText(getApplicationContext(), 
        start.toString()+":"+end.toString(), 2000).show();
        String content = text.getText().toString();
        Log.d("Content",content);
        Integer.toString(start.getCurrentHour())+
        ":"+Integer.toString(start.getCurrentMinute()));

        Log.d("EndTime",
        Integer.toString(end.getCurrentHour())+
        ":"+Integer.toString(end.getCurrentMinute()));
        dialog.dismiss();
    }

});
builder.setNegativeButton("取消", new android.content.DialogInterface.OnClickListener(){
    @Override
    public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
        dialog.dismiss();           
    }               
});
AlertDialog ad = builder.create();  //创建对话框
ad.show();  //需先显示,然后才能查找控件
start =(TimePicker)ad.findViewById(R.id.timepicker_start);
end = (TimePicker)ad.findViewById(R.id.timepicker_end);
text = (EditText)ad.findViewById(R.id.editText_content);

界面的xml文件就是两个时间控件和一个编辑框。
需注意,必须show对话框,然后才能查找控件。

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

【Android基础篇】AlertDialog自定义setView方法的控件响应方法 的相关文章

  • Android 在打开应用程序时会广播吗?

    例如 如果我想知道Youtube何时打开 是否有与之相关的广播 我当然知道我可以轮询 logcat 消息来检查活动 但我可以通过广播来做到这一点吗 因为它会少得多的耗电 此链接似乎表明这是不可能的 如何跟踪 Android 中的应用程序使用
  • Android 上的 SVG 支持

    Android 支持 SVG 吗 有什么例子吗 最完整的答案是这样的 Android 2 x 默认浏览器本身不支持 SVG Android 3 默认浏览器支持 SVG 要将 SVG 支持添加到 2 x 版本的平台 您有两个基本选择 安装功能
  • 自定义选择器活动:SecurityException UID n 无权 content:// uri

    我正在构建一个选择器应用程序来替换本机 Android 共享对话框 它工作正常 除非我尝试通过长按图像 gt 共享图像从 Chrome 共享图像 我发现 Google 没有捕获异常 它崩溃了 所以我可以通过 Logcat 查看它 在 Goo
  • ffmpeg视频已压缩但无法在浏览器中播放

    我已经集成了ffmpeg4android lib 视频压缩工作正常 但视频无法在除 safari 浏览器之外的浏览器中播放 上传到服务器后 我使用了以下命令 ffmpeg y i
  • 从 React Native Js 代码调用 Android Native UI 组件方法

    我创建了一个 CustomView SignatureView java 它扩展了 LinearLayout 以捕获 Android Native 中的签名 并创建了SignatureCapturePackage java和Signatur
  • 调试:在 Android 1.0 中找不到文件

    今天我更新到 Android Studio v 1 0 在尝试编译任何项目时出现以下错误 app build intermediates classes debug 找不到文件 问题是在更新之前我没有任何问题 这是我实际尝试编译的代码 构建
  • 使用 Retrofit2 和 Mockito 或 Robolectric 进行 Android 单元测试

    我可以测试 Retrofit2beta4 的真实响应吗 我需要 Mockito 或 Robolectic 吗 我的项目中没有活动 它将是一个库 我需要测试服务器是否正确响应 现在我有这样的代码并卡住了 Mock ApiManager api
  • glTexImage2D: 之前出错:( 0x506 内部 0x1908 格式 0x1908 类型 0x1401

    当使用 Android Studio 运行模拟器时 我在模拟器屏幕上看不到任何内容 一切都是黑色的 我得到以下事件日志 模拟器 glTexImage2D 出错了 0x506 内部 0x1908 格式 0x1908 类型 0x1401 我已经
  • 使用 PhoneGap 使 Android 应用程序易于访问(对于残障人士)

    有人有过使用 PhoneGap 使 Android 应用程序可访问的经验吗 至少我们需要使我们的应用程序符合第 508 条规定 我尝试实现一些标准的辅助功能 文本框标签 向 div 添加标题属性等 但是 当在 Android 中使用 Tal
  • Android 相机未保存在特定文件夹 [MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA]

    当我在 Intent 中使用 MediaStore INTENT ACTION STILL IMAGE CAMERA 时遇到问题 相机正常启动 但它不会将文件保存在我的特定文件夹 photo 中 但是当我使用 MediaStore ACTI
  • 如何在 Viewpager 中禁用预加载下一页? [复制]

    这个问题在这里已经有答案了 如何在 Viewpager 中禁用页面预加载 I tried viewPager setOffscreenPageLimit 0 但它不起作用 用这个viewPager setOffscreenPageLimit
  • 模块中的类无法加载

    我正在开发一个 2D Unity android 游戏 其中我最近添加了 Firebase Beta SDK 但添加后FirebaseAnalytics unitypackage我面临的错误是 无法加载模块中的类 当我删除文件夹时Fireb
  • 在 KitKat 4.4.2 中获取 SDard 路径和大小

    我在 Google Play 上有一个设备信息应用程序 在该应用程序中我有存储信息 我知道 Android 4 4 在访问外部 SD 卡方面发生了一些变化 内部似乎没有给我带来问题 我的问题是 如何可靠地获取 KitKat 上 SD 卡的大
  • Android:AsyncTask ProgressDialog 将不会在 ActivityGroup 中打开

    我试图在轮询我的服务器时打开一个进度对话框 该类是一个 ActivityGroup 因为它嵌套在选项卡栏中 为了将视图保持在框架内 需要 ActivityGroup 这是我的 ActivityGroup 类的声明 public class
  • Android 中循环事件的星期几和时间选择器

    我想创建一个控件 允许用户在我的 Android 活动中选择一周中的某一天 星期一 和一天中的某个时间 下午 1 00 找不到任何关于此的好帖子 好吧 我想我已经明白了 我只是不喜欢这个解决方案 因为我在一周中的某一天使用的微调器与时间选择
  • 如何在基本活动中使用 ViewBinding 的抽象?

    我正在创建一个基类 以便子级的所有绑定都将设置在基类中 我已经做到了这一点 abstract class BaseActivity2 b AppCompatActivity private var viewBinding B null pr
  • 使用 JobScheduler API 进行位置更新

    下面是我使用 FireBaseJobDispatcher 启动作业的演示代码 public class MainActivity extends AppCompatActivity Override protected void onCre
  • 尝试将 SQLite DB 从数据复制到 SD 卡

    我正在使用以下代码 该代码发布在 Stack Overflow 上的某个位置 并根据我的目的进行了修改 try File sd Environment getExternalStorageDirectory File data Enviro
  • Android 中带有组的列表视图

    我有一个列表视图 每行都有一些日期和文本 我可以像 iPhone 中那样将这个 listView 分组 组之间有标题吗 在 android 中是否可能 请帮忙 即 我需要在 Listview 行之间有标题栏 以便如果我使用日期对其进行分组
  • 如何在片段中实现 onBackPressed() 和意图?

    我知道 onBackPressed 是活动中的一种方法 但是 我想在片段中使用该功能 以便当按下后退按钮时 它会通过 Intent 重定向到另一个活动 有什么办法解决这个问题吗 public class News Events fragme

随机推荐

  • ThreadLocal - ThreadlMap与弱引用

    ThreadLocal源码 在看ThreadLocal源码的时候 其中嵌套类ThreadLocalMap中的Entry继承了WeakReferenc static class ThreadLocalMap static class Entr
  • C++ string字符串修改和替换方法详解

    字符串内容的变化包括修改和替换两种 本节将分别讲解字符串内容的修改和字符串内容的替换 字符串内容的修改 可以通过使用多个函数修改字符串的值 例如 assign operator erase 交换 swap 插入 insert 等 另外 还可
  • 使用Guava RateLimiter限流以及源码解析

    前言 在开发高并发系统时有三把利器用来保护系统 缓存 降级和限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时 需要暂时屏蔽掉 待高峰或者问题解决后再打开 限流 限流的目的是通过对并发
  • win10 graphedit存储的路径

    如果安装郭windows SDK的话 可能的存储位置为C Program Files x86 Windows Kits 10 bin x86 C Program Files x86 Windows Kits 10 bin x64
  • 【C语言学习教程---2】C语言的数据类型

    事物的难度远远低于对事物的恐惧 上一篇文章已经介绍说明了Visual C 的安装和使用 链接如下 C语言学习教程 1 VC 6 0的安装和创建简单C语言工程文件教程 文末有程序代码免费的获取方式 本篇文章开始正式讲解和介绍C语言的知识 在学
  • 安装破解版的edraw max

    一 简介 project是一款好用的项目管理工具 二 安装过程 1 下载安装包 安装软件 安装后先不要运行 https pan baidu com share init surl gKfohSW8XEn 9cYLwnJwdQ h3um 2
  • git:git clone -b提示remote branch master not found in upstream origin

    问题 如标题 解决办法 检查下分支名是否写错了 git创建时有时候不一定有master分支 而是main分支 需要注意
  • Selenium webdriver的无头模式(headless)可能导致cookies内容缺失,以及解决措施

    无头模式 headless 是selenium的webdriver浏览器驱动的一项功能 允许浏览器不出现而仍可访问网页 并与之交互 这对于运行自动化测试或网络抓包大有用处 因为运行速度更快 占用资源更少 但是笔者发现在无头模式下运行时 浏览
  • 高性能mysql一.mysql系统结构和概念

    文章目录 1 1Mysql逻辑架构 1 1 1连接管理和安全性 1 1 2优化与执行 1 2并发控制 1 2 1读写锁 1 2 2锁粒度 1 3事务 1 3 1隔离级别 1 3 2死锁 1 3 3事务日志 1 3 4mysql中的事务 1
  • uni-app 下拉条件筛选菜单组件sl-filter app端不能正常显示

    1 使用uniapp的sl filter组件时 在浏览器中可以正常看到下拉筛选组件如下图1 2 在app中无法看到条件筛选控件 如下图2 3 找到sl filter中sl filter vue中的 created onReady 方法 将
  • MSP430F5529学习笔记(5)——按键切换灯的亮灭

    MSP430F5529学习笔记 4 按键点灯 目录 官方示例代码 内容解析 BIT0的含义 解析 按键消抖 增加的宏定义 问题 解决办法 官方示例代码 官方视频教程里面的代码如下 我做了些许的调整 但是是一样的 只需要看while 1 中的
  • 机器学习概论 聚类算法实现(实验四)

    一 实验目的 1 熟悉使用numpy模块生成二维正态分布 2 掌握kmeans聚类的代码实现 3 熟悉numpy的使用 4 熟悉matplotlib的使用 二 实验设备 计算机 CPU四核i7 6700处理器 内存8G SATA硬盘2TB硬
  • fedora下一些与网络配置相关的文件和命令

    http thethe blog 51cto com 498901 145966 1 如果您在命令行下启动网络服务 应该是 root localhost beinan etc init d network start root localh
  • latex之使用texstudio 编辑算法伪代码

    latex安装一定要记得设置环境变量 另外texstudio配置变量设置请看latex安装和texstudio latex语法没怎么学 随便找个模板跟着玩的 入门案例如下贴出来的 方便以后查找 使用 首先推荐一下网址 https priva
  • 半导体(芯片制造)材料概述

    引用 1 https zhuanlan zhihu com p 371609556 2 https zhuanlan zhihu com p 374110990 3 https www eet china com mp a91416 htm
  • Opencv时间计算

    OpenCV中的时间计算 OpenCV提供了两个函数 cv getTickCount 和cv getTickFrequency 其中 getTickCount 表示的是从某一事件后 比如开机后 系统时钟的嘀嗒数 getTickFrequen
  • element-UI

    常用组件 vue admin里封装的组件 插件等 统一注册在framework vab index js里 main js再导入framework vab 就可以全局使用framework vab里的内容了 如果想全局使用自己封装的组件 可
  • 2. Unity操作基础知识

    1 创建新项目 双击打开 unity hub管理器 点击左侧栏中的 项目 选项卡 在右上角点击 新项目 按钮 进入项目创建页面 在项目创建页面中 选择合适的模板 并设置项目名称 选择项目保存位置 取消勾选同意版本管理和政策条款 最后点击 创
  • Python语法:... for ... in ... if ...

    Python中 for in if 语句是一种简洁的构建List的方法 从for给定的List中选择出满足if条件的元素组成新的List 其中if是可以省略的 下面举几个简单的例子进行说明 for in for in 语句 实例如下 1 a
  • 【Android基础篇】AlertDialog自定义setView方法的控件响应方法

    Android使用AlertDialog弹出对话框时 如果需要自定义对话框界面 就需要用到setView来设置界面 此时 界面上一般都会有需响应或需记录结果的控件 这就需要查找控件了 下面就是一个在自定义对话框中查找控件并进行响应的实例 L