自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 收藏
  • 关注

原创 操作系统期末复习(四)——设备管理、文件管理

【解析】为了加快文件的查找速度,有些操作系统(如UNIX)采用了将文件名和文件的其他信息分开存储的方法,即将文件除文件名外的其他信息保存在一个单独的数据结构中,该数据结构称为索引节点。逻辑记录是对文件进行存取的基本单位。设某系统磁盘共有500块,块号为0~499,第0行的第0位表示第0块,第0行的第1位表示第1块,以此类推。【解析】记录式的有结构文件是指用户文件内的信息是按逻辑上独立的含义进行划分的信息单位,每个单位称为一个逻辑记录,即记录式文件是由逻辑上独立含义划分的最小信息单位一逻辑记录所构成的序列。

2025-05-22 17:51:56 268

原创 操作系统期末复习(三)——内存管理

【解析】在请求分页管理在程序开始执行前,仅将程序的部分页装入内存,其余的页待需要时再装入内存。可变分区也易造成内存碎片。【解析】随着分配与回收的不断进行,内存中会出现很多离散分布且容量很小的小空闲分区,这些小空闲分区单个又不能满足程序对内存大小的需求,于是这些小空闲分区就成为内存中无法再利用的资源,称为内存碎片或零头。【解析】当内存中所有碎片的容量之和大于某一作业所申请的内存容量时,可以采用拼接(紧凑)技术将内存中这些无法利用的小空闲分区(内存碎片)合并在一起,组成一个较大的空闲分区来满足程序的需要。

2025-05-22 16:00:57 576

原创 操作系统期末复习(二)——调度和死锁

中,系统总是选择就绪队列中优先权最高的进程投入运行。例如,假设有 3 个进程,每个进程先获取 3 个资源,此时系统还剩 12−3×3=3 个资源,这 3 个资源可以分配给任意一个进程,使其获取到 4 个资源从而可以完成任务,然后释放 4 个资源,其他进程就可以依次获取资源完成任务了。当 n=4 时,每个进程都获取 3 个资源,一共占用了 3×4=12 个资源,此时系统没有剩余资源了,这是一种临界且不安全的状态,所以 n 最大只能取 3,即最多允许 3 个进程共享资源,这样系统可以保证是安全的。

2025-05-22 13:43:05 820

原创 操作系统期末复习(一)

【解析】微内核结构的操作系统更安全可靠,想添加新的功能服务时也不必修改内核,但每次用户程序对服务器进程的调用首先由内核接收用户的请求(由用户态到内核态),然后再将该请求传送至相应的服务器进程(由内核态到用户态),当服务器进程处理完该请求后,内核还要接收来自服务器进程的应答(由用户态到内核态)并将此应答回送给请求的用户(由内核态到用户态),即需要两次用户态到内核态和内核态到用户态的切换,效率较低。而高级程序设计语言的编译器则是在操作系统的支撑下运行的,它并不是操作系统关心的主要问题。

2025-05-21 20:54:03 413

原创 数据结构——例题3

对于顺序表,若查找第 i 个元素的概率为 Pi​ ,查找第 i 个元素需要比较的次数为 Ci​ ,则平均查找长度。7.对长度为3的顺序表进行查找,若查找第一个元素的概率为1/2,查找第二个元素的概率为1/3,查找第三个元素的概率为1/6,则查找任一元素的平均查找长度为(9.已知一个长度为16的顺序表L,其元素按关键字顺序排列,若采用折半查找法查找一个L中不存在的元素,则关键字的比较次数最多是(B)3.在一个链队列中,假设队头指针为front,队尾指针为rear,x所指向的元素需要入队,则需要执行的操作为(

2025-05-15 16:34:45 1066

原创 数据结构——例题2

解析:由于是顺序表,逻辑地址与物理地址是一一对应的,满足线性关系,所以,访问第i个位置的物理地址可以直接计算出来,即在O(1)内可以访问。在第i个位置插入一个元素,需要移动n-i+1个元素,故时间复杂度为O(n)。现要删除指针p所指的结点,正确的语句序列是(3.对于顺序表,访问第i个位置的元素和在第i个位置插入一个元素的时间复杂度为(2.在一个长度为n的顺序表中删除第i个元素(1<=i<=n)时,需向前移动(5.在长度为n的有序单链表中插入一个新结点,并仍然保持有序的时间复杂度为(A.只有唯一的前驱元素。

2025-05-15 15:43:38 801

原创 数据结构(十)——排序

基本思想:假设排序表为[1,…,n],第i趟排序即从[i,…,n]中选择关键字最小的元素与L[i]交换。对堆进行插入操作时,先将新结点放在堆的末端,再对这个新结点向上执行调整操作。基数排序不基于比较和移动进行排序,而是基于关键字各位的大小排序。“归并”的含义是将两个或两个以上的有序表组合成一个新的有序表。时间效率:O(d(n+r)) d为趟数。时间效率:O(nlog2n)时间效率:O(nlog2n)时间效率:O(n^2)四、各种排序算法的比较。,此时堆的性质被破坏。

2025-05-15 14:12:20 610

原创 数据结构(九)——排序

n]中任取一个元素 pivot 作为枢轴(通常取首元素)通过一趟快速排序将待排序表划分为独立的两部分[1,…基本思想是:从后往前(或者从前往后)两两比较相邻元素的值,若为逆序则进行交换,直到序列比较完,第一趟冒泡结束,结果是将最小的元素交换到待排序列的第一个位置(或将最大的元素交换到待排序列的最后一个位置)3.内部排序:指在排序期间元素全部存在内存中的排序(比较和移动),如插入排序、交换排序、选择排序、归并排序和基数排序。4.外部排序:指在排序期间元素无法全部同时存放在内存中,必须在排序的过程中根据。

2025-05-15 12:53:34 1010

原创 数据结构(八)——查找

12个结点可以画出高度为4的完全二又树,1层1个结点比较1次,2层2个结点比较2次,3层4个结点比较3次,4层5个结点比较4次,(1*1+2*2+3*4+4*5)/12≈3.1。所以H(84) = (84+1)%13=7,所以将84填在7下方,此时比较2次,但是20以及填在了7下方,产生了冲突,H(84) = (84+2)%13=2,所以将84填在8下方,比较次数为3次。(这里的查找次数就是比较次数) 所以 (1+2+1+4+3+1+1+3+9+1+1+3)/12 = 2.5。

2025-05-14 13:18:08 1075

原创 数据结构——例题1

解析:T(n)=O(n的3次方)=m*n^3,当n=5 时T(n)=50s,求得m=0.4。当n=15 时,T(n)=m*n^3=0.4*15^3=1350s。k*=2)可得:2^t1<=n,即t1=log2n,说明外层循环有log2n次。总执行次数:由于外层循环执行log2n次,每次外层循环时内层循环执行n次,所以总的执行次数S=n*log2n。内层循环:对于外层循环的每一次迭代,内层循环都会完整的从j=1执行到j=n,即内层循环每次执行n次。解析:①列出外层循环趟数t1,列出外层循环中k的变化值。

2025-05-13 20:20:07 774

原创 数据结构(七)——图

思想:从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使得先被访问的顶点的邻接点先于后被访问的顶点的邻接点被访问,直至图中所有已被访问的顶点的邻接点都被访问到。思想:假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通的顶点都被访问到。边是顶点的无序对,记为(v,w)或(w,v),且有(v,w)=(w,v)。其中 v,w 是顶点。

2025-05-13 15:21:32 994

原创 数据结构(六)——树和二叉树

假设n1表示度为1的结点数,则树T的结点总数n=n0+n1+n2,我们再换个角度,看一下树T的连接线数,除了根节点,其他结点都有一根线表示分支进入,所以连接线数为结点总数减去1。设叶子结点的个数为n0,度为2的结点的个数为n2,由二叉树的性质n0=n2+1,则总结点数n=n0+n2=2*n0-1,得到n0=100。解释:设度为0结点((叶子结点)个数为A,度为1的结点个数为B,度为2的结点个数为C,有A=C+1,A+B+C=1001,可得2C+B=1000,如果 i > 1,则其双亲是结点[i/2]

2025-05-12 21:59:54 865

原创 数据结构(五)——串、数组、广义表

二维数组,又称矩阵。广义表的长度(广度)指:广义表中所包含的数据元素的个数例如,在广义表(a,(b,c,d))中,它包含一个原子和一个子表,因此该广义表的长度为 2。解释:压缩存储默认是下三角,第1行1个元素,第2行2个元素,...,第7行7个元素,第8行5个元素,所以 1+2+3+4+5+6+7+5 = 33。比如:广义表((1,2),(3,(4,5))) 中,此广义表中包含 3 层括号,因此深度为 3。广义表是n(n>=0)个元素的一个序列,表中的元素可以是称为原子的单个元素,也可以是一个子表。

2025-05-12 13:53:12 895

原创 数据结构(四)——栈的应用—数制转换

十进制转换八进制:先将十进制数除以八得到余数,余数入栈,然后将得到的商继续除以八,直到商为零。

2025-05-08 17:36:23 346

原创 数据结构(三)——栈和队列

解释:对于非循环队列,尾指针和头指针的差值便是队列的长度,而对于循环队列,差值可能为负数,所以需要将差值加上MAXSIZE(本题为n),然后与MAXSIZE(本题为n)求余,即(n+r-f)%n。,n,而输出序列的第一个元素为n,说明1,2,3,…,n一次性全部进栈,再进行输出,所以p1=n,p2=n-1,…解释:初始栈顶指针top为n+1,说明元素从数组向量的高端地址进栈,又因为元素存储在向量空间V[1...n]中,所以进栈时top指针先下移变为n,之后将元素x存储在V[n]队列是一种先进先出的线性表。

2025-05-08 17:22:55 1009

原创 数据结构(二)——线性表的链式表示和实现

创建单链表分为头插法和尾插法两种,头插法是指每次把新节点插到头节点之后,其创建的单链表和数据输入顺序正好相反,因此也称为逆序建表。尾插法是指每次把新节点链接到链表的尾部,其创建的单链表和数据输入顺序一致,因此也称为正序建表。在一个单链表中查找是否存在元素e,可以定义一个p指针,指向第一个元素节点,比较p指向节点的数据域是否等于e。如果不等,则p指向p的下一个节点,继续比较,如果p为空,查找失败,返回false。根据单向链表向后操作的特性,要想跳过第i个节点,就必须先找到第i-1个节点,否则是无法跳过去的。

2025-05-08 14:59:56 541

原创 数据结构(一)——线性表的顺序表示和实现

线性表有唯一的开始和结束,除了第一个元素外,每个元素都有唯一的直接前驱:除了最后一个元素外,每个元素都有唯一的直接后继,如图所示。顺序存储方式,元素存储是连续的,中间不允许有空,可以快速定位第几个元素,但是插入和删除时需要移动大量元素。在顺序表中删除第i个元素,需要把该元素暂存到变量e中,然后从i+1个元素开始前移,直到把第几个元素也前移一位,即可完成删除操作。在顺序表中第i个位置之前插入一个元素e,需要从最后一个元素开始,后移一位,直到把第i个元素也后移一位,然后把e放入第i个位置。

2025-05-06 12:29:24 487

原创 数据结构(三)——链表

为了表示每个数据元素ai与其后继数据元素ai+1之间的逻辑关系,对数据元素ai来说,除了其本身的信息之外,还需要存储一个指示其直接后继的信息(直接后继的存储位置)。节点包括两个域,其中存储数据元素信息的称为数据域,存储直接后继存储位置有域称为指针域。线性表链式存储结构的特点是:用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)②先找到插入位置之前的那个位置,然后指向那个位置所指向的下一个位置。③如果p不为空,用指针q记录指针p的后继节点。②找到要删除节点的前置节点p。

2025-03-14 20:14:03 561

原创 数据结构(二)——顺序表

顺序表:用一组连续的内存单元依次存储线性表的各个元素,也就是说,逻辑上相邻的元素,实际的物理存储空间也是连续的。原理:删除56后,后面的每一个元素向前覆盖前一个元素,最后剩余一个12没有覆盖,直接length-1即可。(4)除最后一个元素外,结构中的每个数据元素均只有一个后继(后一个元素);(3)除第一个元素外,结构中的每个数据元素均只有一个前驱(前一个元素);线性表是n个数据元素的有限序列,其中n个数据是相同数据类型的。(2)存在唯一的一个被称作“最后一个”的数据元素;3.顺序表——在尾部添加元素。

2025-03-14 16:52:56 613

原创 数据结构(一)——绪论

并且,在任何条件下,算法只有惟一的一条执行路径,即对于相同的输入只能得出相同的输出。:是把数据元素放到地址连续的存储单元里面,其数据间的逻辑关系和物理关系是一致的。对算法时间复杂度的度量,通常只讨论算法在最坏情况下的时间复杂度即分析在最坏情况下,算法执行时间的上界。:一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。:是把数据元素存放在任意的存储单元里面,这组存储单元可以是连续的也可以是不连续的。:一个算法有零个或多个的输入,这些输入取自于某个特定的对象的集合。

2025-03-13 20:56:07 992

原创 web复习(五)

四、打印倒三角星星(第一行一个,第二行两个...,以此类推)三、用户输入行数和列数并打印相应行数和列数的⭐。五、用户输入秒数,可以自动转换为时分秒。二、打印出五行五列的星星。

2024-12-22 20:16:55 187

原创 Mysql复习(二)

关系规范化中删除异常是指(不该删除的数据被删除),插入异常是指(应该插入的数据无法被插入),数据冗余是指(数据库中重复的数据过多),修改异常是指(修改数据时,维护数据完整性代价大)数据流图中,用(正方形或立方体)表示数据的源点或终点,(圆角矩形或圆形)表示变换数据的处理过程,(开口矩形或两条平行横线)代表数据存储,(箭头)代表数据流,即特定数据的流动方向。关系模式由五部分组成,是一个五元组(只学三个部分):R(U,F),R是符号化的元组语义,U是一组属性,F是属性组U上的一组数据依赖。

2024-12-22 19:08:31 823

原创 Mysql复习(一)

数据库DB,数据库系统DBS和数据库管理系统DBMS三者之间的关系是(DBS包括DB和DBMS)聚集函数也叫列函数,它们都是基于整列数据进行计算的,而where子句则是对数据行进行过滤的。E-R(实体-关系)图是数据库设计的工具之一,一般适用于建立数据库的(概念模型)A.查询 B.在视图上定义新的视图 C.更新视图 D.在视图上定义新的表。唯一索引(UNIQUE)的作用是(保证各行在该索引上的值都不得重复)一个关系中的所有候选关键字均可以被指定为主关键字。关系表达式运算的结果是(逻辑型)

2024-12-22 19:05:18 708

原创 AndroidStudio——安卓项目结构与文件介绍

主要说明了本项目的名称,所包含的子项目,以及本项目仓库的位置等。简单来说,Gradle是运行于JVM中的一个用于自动构建项目的程序,目前安卓将其作为官方的构建程序,且Springboot也逐渐支持Gradle。在主目录/根目录下的build.gradle也是gradle的配置文件,主要说明了本项目所需的依赖包、Kotlin/SDK的版本等信息。例如如果一个2*2的网格布局中,所有控件的比重都为1,则将均分父控件。从安卓中的类的角度来看,控件就是view类的对象,布局就是viewgroup类的对象。

2024-12-13 09:59:06 2421

原创 Kotlin复习

例如,如果在某个activity中开辟了一个协程,则该协程的生命周期与该activity相同,那么当我们在这个协程中进行网络请求,如果activity被销毁,则该网络请求会被立即终止。相比于传统的回调函数或者使用异步任务(AsyncTask)等方式,协程提供了更加顺序、自然的编码方式,避免了回调地狱(callback hell)的问题。它们提供了一种在代码中以顺序、可读的方式表达并发性的方法,而无需使用传统的回调函数或显式的线程管理。:Set 是一种不包含重复元素的集合,元素之间没有明确的顺序。

2024-12-12 21:37:58 1211

原创 AndroidStudio运行报错提示:Dependent features configures but no package ID was set

其实是在复制粘贴代码的时候有的地方代码文件名字没改,在代码里改一下就好了。

2024-12-12 13:15:31 241

原创 Android四大组件——Content Provider

例如,用户只需知道有一个insert方法可以插入数据,并且向该方法传递待插入的数据即可,其并不关心数据是如何插入的,也不关心数据的具体组织形式。但是,程序不能直接操作Content Provider,而是借助名为Content Resolver的类,如下图所示。Content Provider 使用基于数据库模型的简单表格来提供需要共享的数据,在该表格中,每一行表示一条记录,而每一列代表特定类型和含义的数据,并且其中每一条数据记录都包含一个名为“_ID”的字段类标识每条数据。但是该过程是主动地读取数据。

2024-12-12 13:09:45 837

原创 Android四大组件——Broadcast

有序广播(Ordered Broadcasts):有序广播是同步的,一个接一个地按顺序传递广播,接收器可以决定是否将广播传递给下一个接收器。标准广播(Normal Broadcasts)(无序广播):标准广播/无序广播是完全异步的。发送广播的组件不需要知道接收广播的具体组件,实现了松耦合设计,提高了代码的模块化和可维护性。当广播发送者发出相应的广播(通知)时,所订阅的接收者就会收到相应的数据,并进行业务处理。例如,接收时区变化的系统广播。广播接收者接收时区变化和电量变化的广播,这些都是系统发出的广播。

2024-12-11 20:58:08 1499 1

原创 Android四大组件——Service

有了Binder,只是拥有了Activity和Service之间通信的工具,还需要让Activity能够“使用该工具进行通信”,因此需要继承ServiceConnection的MyConnection类,将Binder和Activity绑定。:当一个Activity启动某个服务后,即使用户关闭该Activity,服务依然存在,且其他Activity可以通过绑定该服务或者发送Intent与该服务进行通信,即使启动该服务的Activity已经关闭。通过绑定方式开启的服务,可以实现服务与其它组件之间的通信。

2024-12-10 21:01:50 1463

原创 Android四大组件——Activity(二)

1.假设有一个User类的对象,我们先使用putExtra进行传递。一、Activity之间传递消息。2.再使用Bundle来传递。二、Activity消息回传。(先放这,有时间再回来写)

2024-12-09 19:32:11 406

原创 web复习(四)

(4)假设每个子窗口显示的网页分别为top.html、left.html、right.html、bottom.html,在index.html文件中给每一个子窗口中指定显示的网页。(3)输入完半径后,点击“计算圆的面积”按钮后,将计算结果显示在“圆的面积”文本框中;(2)页面布局采用主体水平分割成上、 中、下三个部分,比例为10%、80%、10%;(1)表单中设置2个文本框、1个按钮、1个重置按钮,其中圆的面积文本框设置为只读;(3)中间部分垂直分割成左、右两部分,比例分别为25%、75%;

2024-12-09 14:59:09 269

原创 Android四大组件——Activity(一)

创建好的Activity只是Kotlin中的一个类,如果要使用这个Activity,则必须在安卓的配置文件AndroidManifest.xml中设置,添加下述节点,这里声明了一个Activity,并且不允许外部应用调用它。需要注意的是,这种方式新建对应的类后,需要手动继承AppCompatActivity类,并且需要手动添加onCreate回调的实现,添加相应的布局文件。(4)Intent 启动:通过 Intent,可以启动其他 Activity,实现不同界面之间的切换和交互。

2024-12-09 14:28:29 1146

原创 web复习(三)

另外,如果是从其他应用软件或是文件中拖东西进来,尤其是图片的时候,默认的动作是显示这个图片或是相关信息,并不是真的执行drop,此时需要用document的ondragover事件来执行。另外,如果是从其他应用软件或是文件中拖东西进来,尤其是图片的时候,默认的动作是显示这个图片或是相关信息,并不是真的执行drop,此时需要用document的ondragover事件来执行。"metadata": 这个选项的值将告诉服务端,用户不想马上加载音频,但需要预先获得音频的元数据信息(比如文件的大小,时长等)。

2024-12-08 16:49:17 973

原创 web复习(二)

3.编写一个函数,该函数能够找出数组中出现次数最多的元素,并返回该元素。如果有多个元素出现次数最多,返回其中的任意一个。1.编写一个函数,接收一个数组作为参数,返回一个对象,其中包含数组中每个元素及其出现次数。4.编写一个函数,该函数能够找出数组中的所有非重复元素,并返回一个新数组。5.给定一个二叉树和一个值,判断该值是否存在于二叉树中。2.编写一个函数来查找并返回一个数组中的最大值。

2024-12-08 16:30:02 240

原创 web复习(一)

一个完整的拖拽动作过程是(dragstart–>dragenter –>dragover –> drop –>dragend)。怎样给所有的<h1>标签添加背景颜色(h1 {background-color:#FFFFFF;(指定元素的位置(例如绝对定位、相对定位等))JavaScript 中的 `document` 对象有什么用途?CSS 中的 `background-image` 属性有什么用途?JavaScript 中的 `JSON` 对象有什么用途?CSS 中的 `float` 属性有什么用途?

2024-12-08 13:55:08 661

原创 AndroidStudio-常见界面控件

安卓中的ListView是一种常用的UI组件,用于在应用中展示可滚动的列表数据,允许用户通过滑动屏幕来查看列表中的项目,并且可以在列表中显示复杂的数据。在较新的安卓开发中,RecyclerView通常被认为是更灵活和性能更好的选择,尤其是在处理大量数据或需要更复杂布局的情况下。灵活的布局管理器(LayoutManager):RecyclerView允许开发者使用不同的布局管理器来控制列表项的排列方式,例如垂直列表、水平列表、网格布局等,这使得RecyclerView适用于各种不同的布局需求。

2024-12-05 18:55:48 1580

原创 AndroidStudio-Activity的生命周期

(3)onResume:恢复活动。活动页面进入活跃状态,能够与用户正常交互,例如允许响应用户的点击动作、允许用户输入文字等等。startActivity(new Intent(源页面.this,目标页面.class));(6)onDestroy:销毁活动。(4)onPause:例如允许响应用户的点击动作、允许用户输入文字等等。(2)onStart:开始活动。(7)onRestart:重启活动。(8)onNewlntent:重用已有的活动实例。(5)onStop:无法与用户正常交互。

2024-11-16 19:20:02 760

原创 AndroidStudio-广播

发送一条广播,可以被不同的广播接收者所接收,广播接收者收到广播之后,再进行逻辑处理。先收到广播的接收器A,既可以让其他接收器继续收听广播,也可中断广播不让其他接收器收听。一个广播存在多个接收器,这些接收器需要排队收听广播,这意味着广播是条有序广播。在AndroidManifest.xml中注册接收器,该方式称作静态注册。在代码中注册接收器,该方式被称作动态注册。二、Android 中的广播。广播是一种数据传输方式。创建一个标准广播接收者。创建两个接收器A和B。

2024-11-12 08:10:09 989

原创 AndroidStudio-图像显示

它们之间的区别在于:fitcenter既允许缩小图片、也允许放大图片,centerinside只允许缩小图片、不允许放大图标,而center自始至终保持原始尺寸(既不允许缩小图片、也不允许放大图片)。因此,当图片尺寸大于视图宽高,centerInside与fitCenter都会缩小图片,此时它俩的显示效果相同;3.Button只能靠背景显示一张图片,而lmageButton可分别在前景和背景显示图片,从而实现两张图片叠加的效果。2.通过按钮控件Button的drawable属性设置文本周围的图标。

2024-11-11 11:13:16 1537

原创 AndroidStudio-按钮触控

(1)textAllCaps属性,它指定了是否将英文字母转为大写,为true是表示自动转为大写,为false表示不做大写转换。按钮被按住少于500毫秒时,会触发点击事件。是否允许点击由enabled属性控制,属性值为true时表示允许点击,为false时表示不允许点击。(2)onClick属性,它用来接管用户的点击动作,指定了点击按钮时要触发哪个方法;2.可用按钮:按钮允许点击,点击按钮会触发点击事件,同时按钮文字为正常的黑色;1.不可用按钮:按钮不允许点击,即使点击也没反应,同时按钮文字为灰色;

2024-11-10 16:13:27 838

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除