首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在Android中使用"AlertDialog.Builder"而不是"AlertDialogBu​​ilder"的奇怪命名约定

AlertDialog.BuilderAlertDialogBu​​ilder 之间的区别

AlertDialog.Builder 是 Android 开发中用于创建 AlertDialog 对象的辅助类。它允许您自定义对话框的外观和行为,如标题、文本、按钮、单选框、多选框和图像等。而 AlertDialogBu​​ilder 则是内部 AlertDialog 类的一个实例,用于处理对话框的显示和关闭。

命名规则

在 Android 开发中,对于类名,Google 提倡使用驼峰命名法,即每个单词的首字母大写,并使用下划线分隔单词。对于 AlertDialog.Builder 和 AlertDialogBu​​ilder 之间的区别,后者更倾向于内部使用,而前者用于创建 AlertDialog 对象。

应用场景

AlertDialog.Builder 通常用于创建具有复杂外观和行为的 AlertDialog,例如:

  • 在应用中显示带有图像、文本和按钮的对话框。
  • 允许用户通过单选框、多选框或其他视图进行选择。
  • 动态修改对话框的内容,例如根据用户选择显示不同的信息。

AlertDialogBu​​ilder 则更适合在应用程序内部使用,例如在 Activity 或 Fragment 中创建一个私有的 AlertDialog 实例,用于处理一些特定于该组件的操作。

推荐的腾讯云产品

产品介绍链接

请注意,以上答案内容仅提供了关于 Android 开发中 AlertDialog 类名不一致的问题,并没有涉及到其他云计算品牌商。

相关搜索:为什么使用vuex的mapState存储在计算中,而不是数据中?为什么我的POST请求在使用cURL的PHP中超时,而不是在Postman中?在Julia中,为什么要使用对而不是两个元素的元组呢?为什么ctrl-t会插入奇怪的文本,而不是在fzf/vim中打开一个新的标签?当从包中检索传递的参数时,为什么Android Studio警告并建议使用requireArguments()而不是参数!!?为什么SQL server在我的表中插入0值,而不是使用函数插入正确的值?为什么Visual Studio代码使用5.1而不是内核在单独的shell中打开我的PowerShell文件?在Android(java)中,如何使用URL而不是互联网上的图片地址来加载ImageView中的图片?为什么在使用new/save而不是create时,has_many到的连接表没有在rails中创建?为什么matInput文本字段显示[object FocusEvent]而不是我在Angular 8中使用(模糊)的实际文本.NET核心-为什么我应该使用集成在MVC应用或Razor页面中的视图组件而不是Blazor组件为什么QueryDatabaseTable在Apache Nifi中执行完整的查询获取,而不是使用最大列值从Oracle获取数据?为什么在rust中使用动态错误是很常见的,而不是在枚举中?使用编译时变体是不好的还是不可能?在Django测试中,为什么我需要使用<Model>.objects.get()而不是<Model>.objects.create()返回的内容?在R中,除了pretty10exp()之外,当我使用paste()而不是c()时,为什么图例中会有尴尬的输出?为什么在createSlice中使用'push‘会将'3’添加到我的状态中,而不是追加一个数组?为什么我的深层神经网络在全连接层中使用softmax而不是在全连接层中没有softmax时下降缓慢?为什么在BIM360中使用两条腿的令牌而不是三条腿的令牌来创建新项目?在向后打印文本文件的程序中,为什么要使用偏移量-2而不是偏移量-1来调用fseek?为什么我不能为数组中的每个元素添加一个事件侦听器,而不是在使用knockout js时只添加最后一个
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 撸起袖子,自己封装 DialogFragment

1、DialogFragment 的优点 其实在 Android 中显示对话框有两种类型可供使用,一种是 DialogFragment,而另一种则是 Dialog。...,是不是感觉很奇怪,其实原因也很简单, DialogFragment 有着 Dialog 所没有的非常好的特性 DialogFragment 本身是 Fragment 的子类,有着和 Fragment...onCreateView() 或者 onCreateDialog() 方法,onCreateView() 即使用自定义的 xml 布局文件来展示 Dialog,而 onCreateDialog() 即使用...(getActivity);,当我们在传入 Dialog 的时候,便会回调到此处,让 onCreateDialog() 返回我们传入的 Dialog,对接口回调不是很清楚的朋友,可以看下这篇文章 一个经典例子让你彻彻底底理解...-- 在某些系统上面设置背景颜色之后出现奇怪的背景,处这里设置背景为透明,为了隐藏边框 --> <!

1.4K41

代码规范-对抗软件复杂度

1、为什么需要代码规范 任何系统性的项目都需要架构设计,而架构设计的核心命题是控制复杂度。 但随着项目的不断迭代,复杂度就会不断上升,研发效率就会不断下降。...而代码规范正是对抗软件复杂度的有效手段,通过约定俗成的规则,降低复杂度,提升研发效能。...而生僻、难发音的单词会严重影响交流沟通。 其次是可搜索,我们在IDE中编写代码的时候,经常会用「关键词联想」的方法来自动补全和搜索。...注释的目的就是让代码更容易看懂。只要符合这个要求的内容,你就可以将它写到注释里。 比如,阐述代码的逻辑,你为什么这么做,想要达到什么样的效果等等。 3.2.2、注释是不是越多越好?...所以,我们要有模块化和抽象思维,善于将大块的复杂逻辑提炼成类或者函数,屏蔽掉细节,让阅读代码的人不至于迷失在细节中,这样能极大地提高代码的可读性。

72840
  • Carson带你学Android:你要的WebView与 JS 交互方式都在这里了

    () 方式1:通过WebView的loadUrl() 实例介绍:点击Android按钮,即调用WebView JS(文本名为javascript)中callJS() 具体使用: 步骤1:将需要调用的JS...final int version = Build.VERSION.SDK_INT; // 因为该方法在 Android 4.4 版本才可使用,所以使用时需进行版本判断 if (version 的回调方法shouldOverrideUrlLoading ()拦截 url 解析该 url 的协议 如果检测到是预先约定好的协议,就调用相应方法 即JS需要调用Android的方法 具体使用:...步骤1:在JS约定所需要的Url协议 JS代码:javascript.html 以.html格式放到src/main/assets文件夹里 <!...()、onJsConfirm()、onJsPrompt()方法回调拦截JS对话框alert()、confirm()、prompt() 消息 在JS中,有三个常用的对话框方法: 方式3的原理:Android

    90120

    Android:你要的WebView与 JS 交互方式 都在这里了

    中callJS() 具体使用: 步骤1:将需要调用的JS代码以.html格式放到src/main/assets文件夹里 为了方便展示,本文是采用Andorid调用本地JS代码说明; 实际情况时,Android...因为该方法的执行不会使页面刷新,而第一种方法(loadUrl )的执行则会。...; // 因为该方法在 Android 4.4 版本才可使用,所以使用时需进行版本判断 if (version < 18) { mWebView.loadUrl("javascript:callJS...()拦截 url 解析该 url 的协议 如果检测到是预先约定好的协议,就调用相应方法 即JS需要调用Android的方法 具体使用: 步骤1:在JS约定所需要的Url协议 JS...()、onJsConfirm()、onJsPrompt()方法回调拦截JS对话框alert()、confirm()、prompt() 消息 在JS中,有三个常用的对话框方法: ?

    7K31

    项目需求讨论 - Android App 升级

    (PS:也可以用第三方公司出的,比如腾讯的Bugly等,也挺方便的,不过apk要上传到Bugly的平台上,然后公司要求在自己平台上,所以没有使用。)...那就进行下一步 3.我们也看到了,这里我分成了Android6.0为分割线做区别。因为Android6.0开始后,单纯的在AndroidManifest.xml中定义权限已经不够了。...所以我们APP在AndroidManifest.xml中还是定义 android:name="android.permission.INTERNET" /> <uses-permission...,监听 DownloadManager.ACTION_DOWNLOAD_COMPLETE,然后当下载完成后,在BroadcastReceiver中调用安装APK的方法即可。...的时候要提下Android 7.0的特殊情况: 因为7.0之后权限变得更加严格,通过Intent来安装APK需要添加一个Provider,这里我Demo没写,给出下面文章链接,大家可以看下(下面第一篇里面也说明了为什么

    12610

    Android之AlertDialog的基本使用

    坦白说,AlertDialog我在工作中用得并不多,因为AlertDialog的样式比较固定和呆板,为了和App的整体设计匹配,一般都是使用自定义的Dialog,只有在要求不高时用一下。...仔细想想AlertDialog的使用场景, 它并不像TextView和Button那些控件似的一般都是固定在界面上,而是在某个时机才会触发出来(比如用户点击了某个按钮或者断网了)。...所以AlertDialog并不需要到布局文件中创建,而是在代码中通过构造器(AlertDialog.Builder)来构造标题、图标和按钮等内容的。...新建一个工程,在MainActivity上放置不同的按钮,点击按钮就会有相应的对话框弹出。...仔细阅读谷歌的API文档就知道了,setSingleChoiceItems 方法中实现的onClick方法中which表示的是当前选中的列表中的item下标,而setPositiveButton和setNegativeButton

    1.5K20

    信息提醒之对话框(AlertDialog + ProgressDialog)-更新中

    概念 Android中的对话框需要使用AlertDialog类来显示,主要用于显示提醒信息,不过这个对话框类可不仅仅能用来显示一些信息,我们可以在对话框中防止任何的控件,使其成为一个复杂且功能强大的用户接口...,而不是android.view.View.OnClickListener....由于存在“确定”按钮的单击事件中需要引用AlertDialog变量,因此先使用create方法返回AlertDialog对象,然后在单击事件中使用该变量 ---- 进度对话框 查看大拿的总结 进度对话框通过...要实现进度随着时间的变化而不断递增,需要使用多线程及定时器来完成这个工作, 本例中使用Handler类来不断更新进度对话框的进度值。 ?...在本例中,暂停和取消按钮单击事件都使用removeMessages方法删除了消息代码为1的消息。

    4.5K10

    跟我学Android之十 对话框

    android:textColor="#FFF" u 2 、采用动态加载的办法在程序中为 Toast 使用定制布局 LayoutInflater li = getLayoutInflater...中的 setItems () 设置内容和事件监听 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle...单选列表对话框用于显示单选列表 u 通过 Builder 中的 setSingleChoiceItems () 设置内容和事件监听 AlertDialog.Builder builder...下通过 xml 文件存放自定义的设计 u 然后通过对话框提供的能力将自定义的布局显示在对话框中 u AlertDialog 类提供了使用自定义内容的基础 通过 AlertDialog...的风格设为对话枢风格即 可, 需要 先增加 Activity, 在清单文件中进行设置 <activity android:name="com.aaa.ui.DialogTheme" android

    6000

    android推荐使用dialogFrament而不是alertDialog

    DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。...6、DialogFragment做屏幕适配 我们希望,一个对话框在大屏幕上以对话框的形式展示,而小屏幕上则直接嵌入当前的Actvity中。这种效果的对话框,只能通过重写onCreateView实现。...,如果是大屏幕则直接以对话框显示,如果是小屏幕则嵌入我们的Activity布局中 这个R.bool.large_layout是我们定义的资源文件: 在默认的values下新建一个bools.xml 的手机~~~~~ 7、屏幕旋转 当用户输入帐号密码时,忽然旋转了一下屏幕,帐号密码不见了~~~是不是会抓狂 传统的new AlertDialog在屏幕旋转时,第一不会保存用户输入的值...而通过DialogFragment实现的对话框则可以完全不必考虑旋转的问题。

    2.4K50

    Android 必知必会 - DialogFragment 使用总结

    如果移动端访问不佳,请访问 ==> Github 版 背景 Android 官方推荐使用 DialogFragment 来代替 Dialog ,可以让它具有更高的可复用性(降低耦合)和更好的便利性...扩展阅读:Dialog 在屏幕翻转时的处理 无标题栏/全屏 在基本用法里代码注释有设置主题的地方,下面详细说下两种方法下设置无标题栏和实现全屏的方式: 无标题栏 对于方法 ① : @Override public...其他的和 ① 中的类似。...应用场景区别 文章一开始简单总结了方法 ① 和方法 ② 的应用场景,这里说明下: 从基本的用法中可以看到方法 ① 为简单的替代 Dialog 提供了非常方便的创建方式,比方法 ② 有优势 方法 ① 在使用了多线程...方法 ① 和方法 ② 创建 DialogFragment 的一些状态并不是完全一致。

    4.3K31

    ThoughtWorks——结对编程

    作为一个"资深程序员",看到这个题目你一定在飞速的思考着这个问题吧,这个题目其实不是在重点的考验你的设计模式的能力,而是考验一个程序员的及时反应能力。...Android中大量的使用了观察者模式。你可能已经用过ListView的adapter.notifyDataSetChanged来触发ListView的列表界面进行更新。...所以,在考虑使用什么样的模式或模式组合时,我们不妨先冷静下来回忆一下面向对象设计的SOLID原则,我们要遵循一定的原则,而不是为了模式而模式。...L 里氏替换原则:程序中的对象应该是可以在不改变程序正确性的前提下被它的子类所替换的。 I 接口隔离原则:多个特定客户端接口要好于一个宽泛用途的接口。...D 依赖反转原则:依赖于抽象而不是一个实例,依赖注入是该原则的一种实现方式。

    3.2K30

    读完《Effective Java》后我淦了 50 条开发技巧

    例如,只创建了对象,设置了标题,却没有尺寸,相当于创建了一个没有尺寸的警告框。 在Android中,大量的控件都使用了构造器Builder。...复合,即不扩展已有的类,而是在的类中新增一个现有类的。相当于现有类作为一个组建存在于新类中。如此,将只会用到需要用到的东西,而不表现现有类所有的方法和成员变量。...而非静态类必须存在于外部类对象中。不要手动在外部创建一个内部非静态类对象,创建的过程是:instance.New MemberClass()。这非常奇怪。...不过有三种情况下,无法使用for-each(注:在jdk1.8中已经很好的解决了这些问题)。...在使用反射机制时,如果可能,尽可能只通过反射机制实例化对象,而访问方法时,使用已知的接口或者超类。

    64630

    Java接地气日常编码技巧

    例如,只创建了对象,设置了标题,却没有尺寸,相当于创建了一个没有尺寸的警告框。 在Android中,大量的控件都使用了构造器Builder。...复合,即不扩展已有的类,而是在的类中新增一个现有类的。相当于现有类作为一个组建存在于新类中。如此,将只会用到需要用到的东西,而不表现现有类所有的方法和成员变量。...而非静态类必须存在于外部类对象中。不要手动在外部创建一个内部非静态类对象,创建的过程是:instance.New MemberClass()。这非常奇怪。...不过有三种情况下,无法使用for-each(注:在jdk1.8中已经很好的解决了这些问题)。...在使用反射机制时,如果可能,尽可能只通过反射机制实例化对象,而访问方法时,使用已知的接口或者超类。

    64330

    Android 组件化 —— 路由设计最佳实践

    如何实现路由的安全调用 如何避开Apt不能汇总所有Module路由的问题 前言 当前Android的路由库实在太多了,刚开始的时候想为什么要用路由表的库,用Android原生的Scheme码不就好了,...的App Link支持 为什么要有路由 Android原生已经支持AndroidManifest去管理App跳转,为什么要有路由库,这可能是大部分人接触到Android各种Router库不太明白的地方,...的五大功能了,五大功能瞬间击中你的各种痛点,早点下班不是梦。...中手动调用get方法 参数定义在path,不利于多人协作 Apt依赖注入,但是要手动调用get方法 手动调用 手动调用 结果返回 Rxjava回调 onActivityResult onActivityResult...AndRouter Router Router2 router-android 安全讨论 如何在Activity中获取调用者 讨论了android里面原生支持找到路由来源的可能性,分析了referrer

    1.7K30

    使用腾讯OCR光学识别名片集成至ZOHO CRM-总结-安卓开发

    = new Credential("秘钥ID", "秘钥Key");填写自己的秘钥因为识别照片需要将照片转换为base64编码,故在函数中传入形参String,也就是base64编码,还需要返回一个String...ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA)) { // 显示权限说明对话框 // 可以使用一个对话框或其他方式向用户解释为什么需要相机权限...,不是空的就是已经有图片,进行返回,并将图片放置在ImageView下面。...businessCardInfos.getJSONObject(i); String infoname = info.getString("Name"); String infoValue = info.getString("Value");在代码中声明...,比如在上述的代码中,识别图片信息,这样的工作必须的创建线程执行,不然会让界面闪退new Thread(() -> { BusinessCardOCR businessCardOCR

    60470

    Android自定义弹出计时进度条-ProgressDialog和ProgressBar的用法

    Android中一开始对进度条的实现是通过ProgressDialog,可以弹出一个对话框,对话框里显示进度条。但是ProgressDialog在8.0以后被遗弃了,虽然也可以用,但是官方不推荐使用。...相应的替代品就是ProgressBar。ProgressBar是一个布局,只能写在xml文件中,而ProgressDialog可以在java代码中实现。...> 下面看MainActivity中的代码:每个弹出框的布局都在相应的函数中实现,四个函数对应四个弹出框。...,可以看到他是在系统界面展示一个进度条,并不能以弹出对话框的形式来实现进度条的功能。...这里是ProgressBar的相关代码,就是在xml文件中加了一个ProgressBar的布局,然后在MainActivity中进行展示出来。

    2.5K50

    Android开发笔记(六十六)自定义对话框

    setMessage : 设置内容的文本。 setView : 设置自定义的内容视图。 setAdapter : 设置List方式的内容视图。使用较麻烦,一般不用。...Dialog 实际开发中,AlertDialog往往还是无法满足个性化的要求,比如布局不够灵活、按钮的样式无法定制等等,所以常常得自己自定义对话框。...下面是Dialog的常用方法: Dialog构造函数 : 可定义对话框的主题样式(样式在styles.xml中定义)。如是否有标题、是否为半透明、对话框的背景等等。...下面是Window的几个常用方法: setContentView : 设置内容视图。这个方法是不是很熟悉?...下面记录滚轮控件的几个默认值,方便以后定制修改: 1、滚轮的默认背景,代码在WheelView.java的SHADOWS_COLORS 2、文字的默认大小和颜色,代码在AbstractWheelTextAdapter.java

    2.6K20

    读完《Effective Java》: 我整理这 50 条技巧

    例如,只创建了对象,设置了标题,却没有尺寸,相当于创建了一个没有尺寸的警告框。 在Android中,大量的控件都使用了构造器Builder。...复合,即不扩展已有的类,而是在的类中新增一个现有类的。相当于现有类作为一个组建存在于新类中。如此,将只会用到需要用到的东西,而不表现现有类所有的方法和成员变量。...而非静态类必须存在于外部类对象中。不要手动在外部创建一个内部非静态类对象,创建的过程是:instance.New MemberClass()。这非常奇怪。...不过有三种情况下,无法使用for-each(注:在jdk1.8中已经很好的解决了这些问题)。...在使用反射机制时,如果可能,尽可能只通过反射机制实例化对象,而访问方法时,使用已知的接口或者超类。

    60020
    领券