一个非常好玩的问题-Dialog弹出失败

Win键失灵不弹出菜单的解决方法 Win键失灵不弹出菜单是一个比较常见的问题,但通过以上介绍的方法,大多数用户都可以找到解决问题的途径。无论是检查键盘清洁与状态、解锁Win Lock功能、更新键盘驱动程序、检查键盘布局和输入法设置、使用系统还原功能还是联系技术支持,都有助于恢复Win键的正常功能。希望这篇文章能帮助到遇到类似问题的用户。 阅读详情

前提:DialogManager统一管理所有的弹窗弹出和消失,它是一个单例

现象:

MainActivity中点击一个按钮,弹出一个弹窗(因为一些奇怪的理由,导致实现的时候这个弹窗并不是用PopupWindow或者Dialog来实现,而是通过activity.window.decorView.addView的来展示的(ps:这导致后面分析的时候出现来一点点方向上的错误)),然后退出app(这时候并没有杀死app,直接finish掉的MainActivity),进来之后再次点击按钮,弹窗木有出现

排查问题:

点一次,然后退出,再进入,手贱点了两次,发现是由于DialogManager 队列阻塞导致的不显示,沿着这个方向找了会,发现好像没有问题

点一次,然后退出,再进入,再次点击,仍然没有显示,这时候队列并没有阻塞,addView执行了,难道addView出问题了吗?以前倒是遇到过addView不展示的问题,比如说LinearLayout设置的方向不对,子View超出了屏幕,或者addView的时候没有设置LayoutParams,又或者焦点问题。挨个排查发现,好像并不是,Debug发现addView成功了,但是没有显示出来。那就应该转换思路,第一次展示和第二次不展示区别在哪呢?

在于第二次的MainActivity和第一次的MainAcitivty不同!Debug发现

 

 

第一张图是展示的时候各个参数,第二张图是不展示的时候的各个参数。

奇了怪哉!两次的DecorView一样!MainActivity都被finish掉了,DecorView怎么能一样呢?

好吧,DialogManager(这是单例)中存了每次弹窗需要的Context,而由于退出app(这时候并没有杀死app,直接finish掉的MainActivity),所以DialogManager变量一直在,导致addView一直add到了原先已经被finish掉的MainActivity布局上。

小结:其实如果在调试的时候可以提前缕下思路,找重点(这儿的重点就是区别点),而不是钻牛角尖认死理的执着于某一个问题。

新手必看!Stata工具变量分析中的三大陷阱:如何正确解读LM统计量、CDW检验和Hansen J值 本文深度解析Stata工具变量分析中的三大核心检验:不可识别检验、弱IV检验和过度识别检验,帮助新手避开常见陷阱。详细解读LM统计量、CDW检验和Hansen J值的正确使用方法,提供实战案例和Stata操作指南,确保研究结论的可靠性。 阅读详情

相关推荐

Anthropic API接入指南:连接失败、403鉴权与Claude Code集成排查

在AI应用开发中,API接入与鉴权机制是开发者绕不开的基础工程问题。无论是调用云端模型服务还是自建网关,网络连通性、HTTP状态码语义、模型路由映射都会直接影响服务可用性。本文从通用的网络诊断与鉴权原理出发,梳理了从TCP连接失败到403权限拒绝的典型链路,并深入解析网关模型路由匹配机制。在此基础上,进一步说明如何通过环境变量完成Claude Code与VS Code的本地集成,以及一套基于Python的可复现接入方案。内容涵盖Anthropic API高频报错定位、curl冒烟测试、SDK工程化实践,适合

weixin_28743405的博客 469

关于window.showModalDialog无法弹出的问题

jsp中使用window.showModalDialog但是浏览器点击没有反应 在chorme 37以后,谷歌就已经把这个函数停用了 将切换为IE浏览器或者把停用的showModalDialog改成window.open就可以打开子窗体了。

qq_44364733的博客 1935

Wireshark时间分析实战:精准调试网络延迟与时间同步问题

本文深入探讨了Wireshark在网络延迟与时间同步问题分析中的核心应用。通过实战案例,详细讲解了如何设置时间显示格式、利用时间参考点量化关键路径延迟,以及运用时间平移功能校正错位时间轴。掌握这些时间分析技巧,能帮助网络工程师精准定位隐藏于数据包时序中的性能瓶颈与故障根源。

weixin_29290963的博客 262

Dialog无法弹出的问题

可能原因:弹窗需在主线程中执行。如果是在子线程中,可这样设置:

我走的很慢,但从来不后退 1800

西门子S7-1500 PLC模块化编程与生产线自动化实践

PLC(可编程逻辑控制器)作为工业自动化核心设备,其模块化编程技术能显著提升产线控制系统的开发效率。通过SCL高级语言实现算法封装、功能块(FB)复用等工程实践,可构建稳定可靠的分层式控制架构。本文以西门子TIA Portal平台为例,详解S7-1500系列PLC在汽车零部件产线中的标准化应用方案,包含配方管理、设备联动等典型场景的SCL实现,以及Profinet通信、虚拟轴同步等进阶技巧。特别适用于需要快速实施中大型生产线自动化改造的工程师,提供经过验证的异常处理机制和模块化设计规范。

weixin_34341229的博客 459

【鸿蒙南向开发】OpenHarmony音频驱动audio适配方案

这份鸿蒙(HarmonyOS NEXT)文档包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、OpenHarmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

HarmonyOS_666的博客 4517

window.showModuleDialog 显示无法弹出的解决方法

今天部署站点时,一个弹出页怎么也弹不成功。大致代码如下 <head runat="server"> <title>xxx</title>  <base target="_self" /> <link href="../CSS/normal.css" type="text/css" rel="stylesheet" /> ...

weixin_30733003的博客 338

ESP32+MAX7219二进制时钟设计与嵌入式时间映射实践

二进制时钟是嵌入式系统中数据表示与物理呈现深度耦合的典型范例,其核心在于将时间语义(年月日时分秒)解构为比特位,并通过LED点阵的空间权重布局实现直观识别。该设计依托RTC模块提供时间基准,依赖SPI协议完成微控制器与专用驱动芯片(如MAX7219)的可靠通信,涉及寄存器级配置、位图坐标变换、软硬件时序对齐等关键原理。技术价值体现在低资源占用下的高可读性人机交互,适用于教学演示、极客项目及嵌入式UI原型开发。本文聚焦ESP32平台在MicroPython环境下,结合MAX7219驱动8×8点阵实现高可靠性二

weixin_42160645的博客 301

Android Dialog弹出时的软键盘弹出问题

在项目开发中遇见了Dialog弹出后软键盘死活不弹出的问题,只不过已经解决了。。。 content是Dialog中的EdiText,必须在Dialog初始化完成后,才能够弹出来 LayoutInflater inflater = LayoutInflater.from(context); LinearLayout inflate = (LinearLayout) inflate

baidu_19694703的博客 5495

Android/Linux驱动开发:使用dev_dbg进行设备驱动调试

在本文中,我们将介绍如何使用dev_dbg宏和相关的函数来进行设备驱动调试。函数在该目录下创建了一个名为"debug"的debugfs文件。在这些函数中,您可以执行与您的设备驱动相关的调试操作。函数在该目录下创建了一个名为"debug"的debugfs文件。在这些函数中,您可以执行与您的设备驱动相关的调试操作。的结构体指针,其中包含了我们定义的文件操作函数。的结构体指针,其中包含了我们定义的文件操作函数。在上面的示例中,我们首先通过调用。在上面的示例中,我们定义了。在上面的示例中,我们定义了。

ByteKnight的博客 373

搬运机器人系列编程:KUKA KR QUANTEC_(2).KUKA KRL语言编程基础

定义一个函数END!调用函数PRINT "结果: ", result!定义一个过程PRINT msgEND!调用过程printMessage("欢迎使用 KUKA 机器人")!定义搬运零件的起始位置和目标位置!定义焊接路径的各个点!定义喷涂路径的各个点KUKA Robot Language (KRL) 是一种专门为工业机器人设计的编程语言,具有结构化编程、丰富的库函数、实时性以及集成性等特点。

zhubeibei168的博客 1247

Android 8 在service中弹出dialog失败

Android 8 在service中弹出dialog失败, 需要对dialog设置(红色部分) public void showDownProgress() { if (dialog == null) { Activity activity = MainApplication.getTopActivity(); View view = LinearLayout.inflate(activity, R.layout.dialog_update_progres

Lajos的博客 686

【乐企-业务篇】乐企开票具体代码实现

【代码】【乐企-业务篇】乐企开票具体代码实现。

九七的博客 493

el-dialog弹出框编辑

先看效果: 官方的弹出框 官方文档el-dialog按照官方文档区写就好了,我这里就不展示“表格”和“弹出框表单”的代码了,只留下事件的代码块。 点击“编辑”时,是将行数据赋值给“编辑表单”this.editForm = Object.assign({}, row),这样就会把行数据在“编辑”中展示出来。注意:点击“编辑”事件时,加上this.dialogEditFormVisible=true,默认时,其为false,这样“弹出框”弹出时也携带着相对应的数据,修改完,点击“确认提交”就ok了。有点地方

~牧马~ 3246

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

饿了么dialog框,使用echarts初始化失败的问题

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

weixin_43413926的博客 934

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

滥用Static封装Dialog导致某些情况下Dialog show失败问题

由于静态的字段或方法在内存中只存在一份,所以利用这个特性可以做一些对象内存的优化,典型的就是单例的使用。然而stitic特性虽好,如果对全局的知识点掌握不够充分,还是会出现一些不易发现的bug的。最近使用公司项目中Dialog封装库就采坑了,,, 一、Dialog库以及引起的锅 1、DialogUtils 如下是一个简化版的封装库,但是前同事的这锅已经基本模拟出来了。 public class DialogUtils { private static final String TAG = .

dev晴天的博客 1364

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

使用easyui dialog 弹出框的一些注意事项

使用easy ui 的dialog弹出框制作后台管理系统时需要点击按钮弹出个新的弹出框,为了保持每次点击显示出来的数据都是重新渲染,从后台获取的,可以这样来写:function piliangchuli(){ $("").dialog({ title: '批量处理', id:'batchProcessing', width: 920, height:

前端小渣渣 1万+

kindeditor在dialog弹出框中无法获得焦点

前几天遇到一个问题,当kindeditor在dialog中使用时,无法获得焦点。 使用的是最通用的kindeditor初始化代码和dialog弹出框代码,代码如下: KindEditor.ready(function (K) { var editor1 = K.create('#solution', { resizeType: 2,

Sky___Ice的专栏 9889

clipboard.js在dialog等弹出框中无效的问题

最近项目中使用clipboard.js做点击复制的功能,封装了一个小组件,发现在dialog中失效 翻看文档发现这样一句话 文档地址:空白目录 · clipboard.js中文文档 · 看云 (kancloud.cn) 原因就是弹出框会自动focus,而复制的底层实现是要获取选中的内容,失去焦点后就无法获取到了,从而导致复制失败。 我是用的UI框架是vuetify,有比文档更方便的方法,v-dialog自带属性 :retain-focus=“false” 就可以关掉dialog的自动聚焦了 ...

@tangguo123 博客 1085

android 底部弹窗失效,Android实现从底部弹出Dialog(和PopWindow实现的效果同样)

布局文件:dialog_custom_layout.xmlandroidandroid:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#fff">android:id="@+id/tv_take_photo"an...

weixin_35801437的博客 481

关于在dialog中重置form表单失败的问题

使用el-dialog内嵌表单时候,发现表单重置失效,点击不同的数据,表单默认值不会发生改变。 解决办法 利用v-if重新渲染元素的特点,给el-dialog加上v-if <el-dialog class="addForm" title="添加" @close="reset" :visible.sync="dialogFormVisible" v-if="dialogFormVisible"> <el-form ref="formName" class="formName" m

z____Index的博客 750

android 在广播中弹出Dialog无效、失败解决(究极无敌完美实现版本)

代码经过博主亲测,可以实现在BroadcastReceiver中弹出dialog的需求。 废话不多说,直接上码。 1.悬浮窗权限申请 AndroidManifest中加入: <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 代码中加入: /** * 监...

欢迎进入JesseAndroid的博客 2138

easyui打开dialog后给弹出框内输入框赋值问题

在写一个弹出页面的时候,里面有一些输入框,需要在弹出的时候从数据库取值并且赋值,刚开始在弹出的时候使用$(id).val(value),结果赋值失败,为空当时纠结了一会,然后突然想到在easyui打开dialog后不能设置原来的dom,输入框text被其他空间替换了。所以查询了api后发现应该这样赋值$(id). textbox('setValue',value),测...

dengzong6976的博客 624

jquery弹出dialog空白问题

最近开发过程中,碰到一个很奇怪的问题,觉得值得记录,所以特此记录一下。      一:问题描述:              在某一个页面点击设置,弹出一个设置的dialog页面,在这个页面的第二个页签再用easyui弹出dialog时,发现没弹出框来,而且再点击页面,没有反应,但浏览器没有卡死的现象。测试环境没反应,检查开发环境又没问题,后台日志不报错,点击下一页查询后,测试环

he_cha_bu的博客 2237

Dialog 中 使用 EventBus 问题

使用中遇到 首次使用dialog 进行数据发送 ,EventBus 还有效果 ,但是当Dismiss 操作后 ,再次showdialog EventBus 事件传达就无法实现 我注册在 在onCreate() 销毁是在 Stop() 但是Dialog仅在在第一次启动时候会执行onCreate()方法(之后无论该Dialog执行Dismiss(),cancel(),stop(),Dialog...

u013297881的专栏 4245

vue的dialog显示分页失败

vue的dialog显示分页失败 在elementUI使用el-table,操作栏有个按钮需要弹出一个dialog,根据表id条件查询的,结果F12,network下面的list没有 带pageNum,正常的应该是这样的,list?pageNum=1&pageSize=10,导致我分页显示全部在一页。 解决,在传参的时候,传id查询的时候把分页当做参数传过去。 ...

userzou的博客 886
上一篇: android多状态布局
下一篇: List遍历抛出UnsupportedOperationException在Android不同版本上不同表现
ITurbo
博客等级 码龄15年 17粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值