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

安卓-如何从子AlertDialog更新父AlertDialog

安卓中,如果需要从子AlertDialog更新父AlertDialog,可以通过以下步骤实现:

  1. 首先,在父AlertDialog的创建代码中,为其设置一个唯一的标识符(ID),例如:
代码语言:txt
复制
AlertDialog.Builder parentBuilder = new AlertDialog.Builder(MainActivity.this);
parentBuilder.setTitle("父AlertDialog");
parentBuilder.setMessage("点击按钮以显示子AlertDialog");
parentBuilder.setPositiveButton("显示子AlertDialog", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        // 在这里显示子AlertDialog
        showDialogChild();
    }
});
AlertDialog parentDialog = parentBuilder.create();
parentDialog.show();
  1. 在显示子AlertDialog的方法中,创建子AlertDialog,并为其设置一个唯一的标识符(ID),例如:
代码语言:txt
复制
private void showDialogChild() {
    AlertDialog.Builder childBuilder = new AlertDialog.Builder(MainActivity.this);
    childBuilder.setTitle("子AlertDialog");
    childBuilder.setMessage("点击按钮以更新父AlertDialog");
    childBuilder.setPositiveButton("更新父AlertDialog", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            // 在这里更新父AlertDialog
            updateParentDialog();
        }
    });
    AlertDialog childDialog = childBuilder.create();
    childDialog.show();
}
  1. 在更新父AlertDialog的方法中,通过父AlertDialog的标识符(ID)获取到父AlertDialog的实例,并更新其内容,例如:
代码语言:txt
复制
private void updateParentDialog() {
    AlertDialog parentDialog = (AlertDialog) MainActivity.this.findViewById(R.id.parent_dialog);
    if (parentDialog != null) {
        parentDialog.setMessage("父AlertDialog已被更新");
    }
}

这样,当点击父AlertDialog中的按钮显示子AlertDialog后,再点击子AlertDialog中的按钮即可更新父AlertDialog的内容。

在这个过程中,使用了AlertDialog.Builder类来创建AlertDialog,并通过setPositiveButton方法为按钮设置点击事件。同时,为了能够在子AlertDialog中获取到父AlertDialog的实例,需要在父AlertDialog的创建代码中为其设置一个唯一的标识符(ID),然后通过findViewById方法获取到该实例。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

手机卫士黑名单功能(ListView结合SQLite增删改)

BlackNumberAdo对象的add()方法,数据库增加一条记录,参数:String电话号码,String拦截模式 此时ListView并不会显出出来刚添加的记录,需要退出这个Activity重写进入,我们通知适配器数据更新...调用集合List对象的add()方法,添加一条数据,参数:0(第一个),数据 调用ListAdapter对象的notifyDataSetChanged()方法,通知数据更新 删除记录 条目布局文件中,...在右侧放置一个垃圾桶的小图标,上下居中,控件右边 系统的点击事件和js的点击事件很相似, 参考这篇:http://www.cnblogs.com/taoshihan/p/5438729.html...获取到删除按钮Button对象 调用Button对象,设置点击事件 获取AlertDialog.Builder对象,展示是否确认删除的对话框 调用AlertDialog.Builder对象,设置确认按钮和取消按钮...方法,参数:String电话号码 调用集合List对象的remove()方法,删除一条数据,参数:int索引 调用ListAdapter对象的notifyDataSetChanged()方法,通知数据更新

86730

Android6.0权限动态获取操作示例

本文实例讲述了Android6.0权限动态获取操作。...分享给大家供大家参考,具体如下: 众所周知 , 6.0现在运用的越来越广泛 , 因为相对于之前的几个版本 , 对于用户权限这个概念确实不是很重视 , 而6.0 之后 , 为了提升用户的操作安全性 ,...运行时权限诞生了, 就是在用户运行软件的时候动态获取所需要的权限 , 下面跟大家分享一个我的代码案例 : import android.Manifest; import android.app.AlertDialog...Android6.0的运行时权限检测 * 需要进行运行时权限检测的Activity可以继承这个类 * * @author xingtao sun * @创建时间:2016年12月28日 * @项目名称: ...builder = new AlertDialog.Builder(this); builder.setTitle(R.string.notifyTitle); builder.setMessage(

76820

6.0申请多个动态权限

记一次6.0动态权限获取步骤,多个权限一次申请,便于记忆与以后查看 说来惭愧,最近在测试一个客户端文件上传的功能;一直在拿模拟器做的调试,对接成功后,文件上传没问题,相安无事;刚好自己用的是机...,就直接打包发到真机调试了,文件竟然一直上传不到服务器后面用了旧手机发现又能够上传成功,结果被直接蠢哭;一个是8.0,一个是5.0。...builder = new AlertDialog.Builder(this, R.style.Theme_AppCompat_Light_Dialog_Alert);...requestPermissions方法,onRequestPermissionsResult不会回调回来,建议使用getParentFragment().requestPermissions方法, 这个方法会回调到Fragment...作者是说可以一键设置动态权限设置,经测试,目前没发现什么问题传送:XXPermissions 2.同样6的框架,操作简单RxPermissions 2018/12/4补充: android 8.0权限组更改了,

1.6K20

【Android FFMPEG 开发】Android 中执行 FFMPEG 指令 ( 集成 FFmpegAndroid 框架 )

Android Library 核心依赖库 , 在自己的项目中 , 引入该依赖库即可进行 FFMPEG 命令执行 ; app Module 仅仅是一个示例项目 , 展示 FFmpegAndroid 依赖库如何使用...可执行文件是该应用的核心 ; 基于最后一个可运行版本进行调试 , 这个项目在 2016 年停止维护了 , 运行后一堆报错 , 引用了远古版本的 ButterKnife 和 Dagger 依赖库 , 更新了最新的...com.github.dcendents:android-maven-gradle-plugin 插件 , 然后添加了 google() 库支持 , 项目运行起来了 ; 参考 : 【错误记录】编译项目报错...( AndroidMavenPlugin 错误 ) 【错误记录】编译错误 ( Could not find xxx.tools.build:aapt2 ) 运行该项目 , 执行 -version...; package com.github.hiteshsondhi88.sampleffmpeg; import android.app.Activity; import android.app.AlertDialog

1.7K20

8.广播

动态注册:需要使用广播接收者时,执行注册的代码,不需要时,执行解除注册的代码 中有一些广播接收者,必须使用代码注册,清单文件注册是无效的 屏幕锁屏和解锁 电量改变 public class MainActivity...,那么没有任务栈,就无法启动activity 手动设置创建新任务栈的flag it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 项目5:监听应用的安装、卸载、更新...原理:应用在安装卸载更新时,系统会发送广播,广播里会携带应用的包名 清单文件定义广播接收者接收的类型,因为要监听应用的三个动作,所以需要接收三种广播 <receiver android:name...先创建一个ActivityCollector类用于管理所有的活动 2.创建BaseActivity类作为所有活动的类 3.创建一个登录界面的布局login.xml 4.编写登录界面的活动,新建LoginActivity...alertDialog = dialogBuilder.create(); // 需要设置AlertDialog的类型,保证在广播接收器中可以正常弹出 alertDialog.getWindow

1.6K100

Android项目实战(三十二):圆角对话框Dialog

按钮   难点:1、对话框边框圆角显示      2、考虑到提示文本字数不确定,在不影响美观的情况下,需要在一行内显示提示的文字信息        3、设置对话框的宽和高   技术储备:      1、开发..._使用AlertDialog实现对话框    知道AlertDialog有setView(view) ,Dialog 有ContentView(view) 方法。      ...经过我1个多小时的折腾,发现这些方法都不可靠,其实很简单,以上方法用的是AlertDialog , 但是我们这里用的Dialog类,一个shape 足矣。   ...dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent); //设置对话框背景透明 ,对于AlertDialog...还有一个做法: AlertDialog dialog = builder.create(); dialog.setView(view); dialog.show(); WindowManager

2.2K70

逆向APK进行smali注入实现“秒破WIFI”

$Builder; invoke-direct {v5,p0}, Landroid/app/AlertDialog$Builder;->(Landroid/content/Context;)...,Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder...; invoke-virtual {v5},Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog; move-result-object...v6 invoke-virtual {v6},Landroid/app/AlertDialog;->show()V 这段代码就是使用AlertDialog类的一系列方法弹出对话框,把密码显示出来。...如果报错类型是资源文件出错,例如string.xml、public.xml什么的,那你就把原始的apk资源解包出来,然后把反编译的对照原始资源文件进行参考修改,缺啥就补啥,多啥就删啥,引用错了啥就改啥,这也是需要你对的整个打包文件结构有一定的了解才行

1.4K60

记一次APP的二开

} } 定义收藏按钮 package com.tiocloud.chat.feature.session.common.action.model; import android.app.AlertDialog...R.id.message}); listView.setAdapter(adapter); linearLayoutMain.addView(listView); AlertDialog...show = new AlertDialog.Builder(fragment.getActivity()) .setTitle("发送收藏").setView(linearLayoutMain...其中其实是有一些改动的,但是都是可接受范围内,无非就是改下增加了一个取消收藏的功能,还算正常 坑4 后期改了挺多的,按理来说我上午就已经交付了,后面客户提示变更app名称和图标 没注意看客户的图标 低版本...bug吧,图标太大会被忽略,显示成安默认的那个很丑很丑的图标 高版本没问题 后面压缩图片搞定 大概耗时1小时 app名称 全局关键字替换,这里没啥问题 客户主动加价100,后委婉的想要编译ios xcode

28620

入门-第三章-常用控件的使用方式

一、常用控件的使用方式 1.1 TextView  TextView可以说是Android中最简单的一个控件了,你在前面其实已经和它打过一些交道了。...,也就是由布局来决定当前控件的大小。...如果布局是View,那么宽度就是和手机屏幕一样的宽度。 “wrap_content” 让当前控件的大小能够刚好包含住里面的内容,也就是由控件内容决定当前控件的大小。...那我们来看一看如何在界面上加入EditText吧,修改activity_main.xml中的代码,如下所示: <EditText android:id="@+id/edit_text...<em>如何</em>才能让进度条在数据加载完成时消失呢?这里我们就需要用到一个新的知识点:**Android控件的可见属性。

1.8K20
领券