Android菜鸟日记8 view控件

Android菜鸟日记8
控件

Activity的常用控件:
1. Textview 文本框控件
2. Editview 可编辑文本框控件
3. Button 按钮控件
4. Menu 菜单控件
Ps:
andriod:id=”@+aaa/bbb”, 意思是将aaa/bbb赋值给此控件的id如果不存在则创建(常量)
+表示不存在则创建
@取后面的值


5. RadioGroup 单选组控件 RadioButton 单选按钮控件
< RadioGroup >
<RadioButton/>
<RadioButton/>
……
</RadioGroup>
这样为一组单选按钮

在使用单选组时控件的监听应该设置在radioGroup上
为x .setOnCheckedChangeListener(this)
Ps:RadioGroup. OnCheckedChangeListener()
OnCheckedChangeListener 是 RadioGroup 的内部类
且OnCheckedChangeListener是一个接口 需要自己实现
onCheckedChanged(RadioGroup arg0, int checkedId)

PS:不过我一般自己让activity实现这个接口然后覆写方法就行了(J2ME经常这么写)



6. Checkbox 复选框组件
<CheckBox ……/>
<CheckBox ……/>

每个复选框是独立的
他的监听器是CompoundButton.OnCheckedChangeListener
Checkbox 继承了CompoundButton
设置方法
x. setOnCheckedChangeListener(this) 还是用activity来实现这个吧
mars老师的方法是写成一个内部类
x. setOnCheckedChangeListener(new 你的类名.xxxxx{ 内部类体 })
内部类体 必须复写onCheckedChanged(CompoundButton buttonView ,boolean isCheck)方法 监听触发调用的方法

且每个CheckBox对象都要监听 所以还是觉得用 我那个方法好点 提高复用度了



7. Toast 类似于弹出信息
作用:提醒用户 错误、功能没开(WIFI)
EX: Toast.makeText(this, "female", Toast.LENGTH_SHORT).show();
设置toast对象文本 makeText(Context context,String title, int duration)
//环境(当前的activity对象 ,一般填写this),
//标题
//显示时常(Toast.LENGTH_SHORT 3秒左右 | Toast.LENGTH_LONG 五秒左右)
显示 show()



8 关于Menu菜单控件
1. 定义 用户点击menu activity调用 onCreateOptionsMenu(Menu menu)方法
2. public boolean onCreateOptionsMenu(Menu menu) {
3. menu.add(0, 1, 1, R.string.exit);//组ID,组内ID,组内排序,标题
4. menu.add(0, 2, 2, R.string.about);
5. menu.add(2, 2, 2, R.string.about);
6. menu.add(2, 2, 2, R.string.about);
7. //每一行menu的行为一组
8. return super.onCreateOptionsMenu(menu);
9. }
用户点击menu后会调用此方法 通过menu.add 给menu菜单添加选项

2.用户选择了menu菜单选项 调用 onOptionsItemSelected(MenuItem item)方法
public boolean onOptionsItemSelected(MenuItem item) {//点击menu菜单选项时调用
if(item.getItemId()==1)
{
this.finish();
}

return super.onOptionsItemSelected(item);
}
点击menu选项后 调用此方法 会传入被选择的menuitem对象 可以同通过组内
item ID来辨认

9.ProgressBar 滚动条控件

作用:滚动条 进度 有很多种样式 默认为上图。
<ProgressBar
android:id="@+id/pb1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"//是否显示
/>


10.ListView 列表控件 [重点且相对复杂]

作用:列表显示信息内容
解释:
首先 使用到listView的activity需要继承的是listActivity
Listview中的每行信息都是一个hashmap对象
Hashmap中存放<string ,string>的键值对
再把每个hashMap存入arraylist对象。
arraylist对象作为数据源备用。
listActivity需要自己的布局文件(废话 下面一句是重点)
listActivity 是需要设置适配器的
SimpleAdapter listAdapter = new SimpleAdapter(this,list,R.layout.main3,new String[]{"name","age","sex"},new int[]{R.id.tx,R.id.tx2,R.id.tx3});

SDK:
SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)

//Context context 上下文 也就是this
//List<? extends Map<String, ?>> data 数据源 也就是 ArrayList对象
//int resource 每行的布局文件,控制每行的布局
// String[] from 每行中需要显示的数据的键 组成的数组
// int[] to 前面需要显示的键值 对应显示的控件。
设置完设置适配器后需要this.setListAdapter(listAdapter)
把适配器设置到listactivity上。
适配器(Adapter):用于把资源与其他对象对接
Ex:把几个参数适配成一个对象。以方便使用。

在布局文件中写入listview
<ListView
android:id="@id/android:list"//这个是重点必须这么写
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical"
/>
ListView的id必须是”@id/android:list”


监听:
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
}
可以在listactivity中写onListItemClick方法设置监听。
ListView l: listview控件对象
View v : 被点击的控件对象(2011-8-13时只知道是选择一行一行的)
int position:被点击控件位置
long id : 被点击控件位置ID
[关于id和position(位置)的思考]
Id是自然不变的 是1就是1 但是位置可变的 如果我把第二行拖到了第一行ID为改变但位置position改变了


2011-8-13
poolo


[img]http://dl.iteye.com/upload/attachment/535611/0f0182a7-dd28-30e9-b4c6-beea7f6d2e1b.jpg[/img]
Linux8.3上装Oracle 19c RAC,ssh互信总报INS-06006?别急着下补丁,试试这个临时替换scp的骚操作 本文针对在Linux 8.3上安装Oracle 19c RAC时遇到的SSH互信报错INS-06006问题,提供了一个无需官方补丁的临时解决方案。通过创建SCP包装脚本并添加-T参数,有效解决了OpenSSH 8.x版本与Oracle安装程序的兼容性问题,帮助用户顺利完成安装流程。 阅读详情

相关推荐

FPGA波束形成:从算法到硬件的艺术之旅

本文深入探讨了FPGA在波束形成技术中的应用,从算法原理到Verilog硬件实现的全过程。文章详细分析了FPGA并行处理、低延迟和可重构特性如何优化波束形成系统性能,并提供了Verilog关键模块代码示例和资源优化策略,为工程师实现高效FPGA波束形成解决方案提供实用指导。

tea88的博客 1044

Android WebView基础开发——Android菜鸟成长日记

距离上一次更新已经是20天了,是我太懒了,该打。 今天是简单开始一点关于安卓的知识了,时间太紧迫,没有时间去详细的了解关于算法的知识,当然我不会落下算法的学习,只是先把安卓基础知识往前推进了一点。老规矩还是线上官方链接 WebView API Android Developer代码MainActivity.javapackage wlhwh.example.com.study20161222we

WL_Android_HWH的博客 610

单片机技术入门与实战:从零基础到项目开发

单片机(MCU)作为嵌入式系统的核心组件,集成了CPU、内存和各种接口电路,广泛应用于智能家居、工业控制和汽车电子等领域。其工作原理基于实时控制和低功耗设计,通过定时器、中断系统和通信接口等功能模块实现各种控制任务。在物联网和智能硬件快速发展的背景下,掌握单片机开发技术成为电子工程师的重要技能。本文以STM32和PIC系列为例,详细解析单片机的基本概念、功能模块和选型指南,并分享从入门到项目实战的系统学习方法,帮助开发者在3-6个月内快速掌握这一关键技术。

weixin_35753291的博客 652

Android菜鸟日记4

Android菜鸟日记4 Activity的常用控件: 1. Textview 文本框控件 2. Editview 可编辑文本框控件 3. Button 按钮控件 4. Menu 菜单控件 Ps: andriod:id=”@+aaa/bbb”, 意思是将aaa/bbb赋值给此控件的id如果不存在则创建(常量) +表示不存在则创建 @取后面的值 前三个空间需要在布...

ipoolo的专栏 141

合规批量下载美国上市公司年报数据的一些经验和总结

本文总结了使用Python脚本批量下载和处理美国上市公司SEC报告的技术经验。通过CIK代码查询SEC EDGAR系统,生成特定日期和报告类型的URL,并使用Selenium和Requests库下载报告内容。流程包括数据获取、文件下载、Excel处理和多线程优化,确保高效处理几百条数据。关键技术挑战包括SEC访问限制、动态网页内容和数据完整性,解决方案包括设置合规的User-Agent、使用Selenium模拟浏览器行为以及错误日志记录。最佳实践包括模块化设计、多线程优化和严格遵守SEC合规性。该自动化流程

jyfool的博客 1635

YOLOv11 改进策略 | HWD:引入 Haar 小波变换,减少信息丢失

在卷积神经网络(CNN)中,下采样(Downsampling)是降低特征图分辨率、扩大感受野的关键操作,通常通过最大池化(MaxPool)或步长为 2 的卷积(Strided Convolution)实现。然而,这些方法在降低分辨率的同时,往往会丢失图像中的高频细节信息(如边缘、纹理)和精确的空间位置信息,这可能对后续特征提取和目标检测精度产生不利影响,尤其是对于小目标和需要精细定位的任务。

走向CTO的路上... 1788

Android菜鸟日记24-android小技巧

  Android菜鸟日记 24 android小技巧   用button控件实现按钮效果   Button控件例子 &lt;Button android:id="@+id/bt1" android:layout_width="wrap_content" android:background="@drawable/selector_button1" android:layout...

ipoolo的专栏 155

深入解析Mifare Classic Crypto1认证流程与密钥交换机制

本文深入解析Mifare Classic Crypto1认证流程与密钥交换机制,详细介绍了Crypto1加密算法的工作原理、认证初始化阶段、随机数交换与密钥流生成过程,以及双向验证步骤。文章还分析了Mifare Classic的安全漏洞,包括随机数生成缺陷和密钥流恢复攻击,并提供了Proxmark3实战演示和防护建议。

c6d7e8f9g的博客 898

Android菜鸟日记20 - ListView

Android菜鸟日记 20 ListView ListView之前已经在布局那篇写过了 后来发现这个系统自带的功能还是比较多的 很多东西完全不用自己来弄。 首先是上次写的 10.ListView 列表控件 [重点且相对复杂] 作用:列表显示信息内容 解释: 封装listView到activity的ListACtivity Listview中的每行信息都是一个...

ipoolo的专栏 154

【无标题】IP804A参考资料和管脚作用图

3.3V内置led控制内置EEPROM接口,用于哑应用ip804a,可集成为4X N端口PSE稳压器内置支持外部设备。多个系统和IC总线用于从每个IP804A收集PD电源状态,以支持全局电源管理。多个ip804a可以构建一个具有成本效益的PHY级PSE系统以支持PD分类和电源管理,而无需主机。基于LLDP(IEEE标准8023AT-2009的一部分),可以实时维护PSE和PD之间的动态电源管理,以提高电源效率。IP804A是一款用于POE(以太网供电)系统的4端口PSE(电源设备)控制器IC。

2301_78055735的博客 1058

RK平台PCIE-Ethernet扩展:Intel I210移植与性能飞升之路

本文详细介绍了Intel I210千兆以太网控制器在瑞芯微RK平台的移植与优化过程。通过硬件适配、内核配置、驱动开发及性能调优四个关键环节,实现了RK平台的网络性能提升。硬件方面,重点说明了PCIE接口的规范连接与供电检查;软件方面,系统阐述了内核配置、设备树修改和驱动编译流程。在性能优化环节,详细介绍了中断优化、缓冲区设置和TCP/IP协议栈调优策略,并采用Iperf和Netperf工具进行量化测试验证。测试结果显示,优化后的网络吞吐量提升20%以上,延迟降低40%,为工业控制、智能安防等场景提供了可靠的

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 350

android listview 滑动条显示_Android菜鸟日记(4.10)

昨天的问题是用了ExpandableListView控件但是不显示问题,今天一检查有很多细小的问题……比如设的私有变量名字写错了,导致有问题的方法给注释了等等……不过这些都修正了还是不能加载出数据。 这里再重新提一下原来的是用在activity中的我给换到fragment里了,把对应的方法所在的生命周期也都改了还是不行。估计是有的语句只能在activity中写吧,以后有机会找一下具体哪些不能...

weixin_39859394的博客 199

Android 13 灭屏音乐播放问题解决与优化建议

通过在中增加对音乐播放状态的检测,我们成功解决了客户应用在灭屏状态下音乐播放被中断的问题。

m0_60898338的博客 1157

android listview分区域监听,listview的监听事件

package JAVASwing;import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;publi...

weixin_39862097的博客 250

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

iOS 多语言本地化教程,VS Code KXApp 编辑 String Catalog .xcstrings

做 iOS 多语言本地化总要在 VS Code 和 Xcode 之间来回切?这篇讲用 KXApp(快蝎)在 VS Code 里直接编辑 String Catalog(.xcstrings):双击打开和 Xcode 一样的表格,`.xcstrings` 与老的 `.strings`、`.stringsdict` 同表编辑,加语言同步登记到工程、从源码扫描同步新 key,复数、设备变体和变量占位都在表里处理,改源语言文本后已有翻译自动标需复核。文件仍是标准格式,回 Xcode 打开一致。

2501_91592143的博客 158

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

成为全栈·基础补充·Nginx 入门:反向代理与静态托管

Nginx 可以托管前端静态文件,也可以作为反向代理把 HTTPS 请求转给内部 API。本文从请求路径讲起,解释反向代理、静态目录、代理头、路径拼接、可信 IP、Cookie、上传体积、超时和缓存边界,并提供配置结构示例和逐层排查顺序。配置片段需要结合实际证书、路由和运行平台验证,不能直接复制为生产方案。

FungLeo's Blog 289

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Android 开发入门实践(二):Kotlin 空安全,从可空类型到安全访问

延续 NewsApp 项目中的新闻标题练习,记录 Kotlin 安全调用。

Easyhood的博客 276

Android Message源码阅读

本文梳理了Android Handler机制中Message的核心设计:链表结构、消息复用池(sPool)及回收机制,重点解析了异步消息与同步屏障(SyncBarrier)的协同机制。当主线程需优先处理UI绘制等高优先级任务时,系统通过postSyncBarrier插入屏障,使Looper跳过普通同步消息,优先执行标记为异步的UI渲染任务,确保帧率流畅。该机制是保障Android界面响应性的关键技术之一。

u012116089的博客 183

指纹浏览器手机版能用吗?区分原生 App、移动网页模拟与云手机

本文说明“指纹浏览器手机版”可能指手机原生 App、远程云端浏览器、电脑模拟手机网页或云手机。通过对比运行位置与可完成的任务,提供下载前的四项核对方法,帮助读者选择适合网页操作或 Android App 的方案。

2601_96176203的博客 134

Android 面试题逐题简析:28 个专题,232 题

常见原因是未在 onMeasure 处理 AT_MOST 下的期望尺寸,沿用了默认测量而占满可用区域,或未考虑内容、padding 和最小尺寸。应计算 desiredWidth/Height,再通过 resolveSizeAndState 等与父约束合并。wrap_content 是测量输入,框架不会自动知道自定义内容想要多大。

一个踩这七色彩虹的路人甲 151

云手机私有化部署完整方案:基于ARM服务器搭建私有安卓云集群

ARM 服务器是私有化安卓云集群最优硬件底座,原生架构匹配 Android,高密度、低损耗,非常适合企业内网场景。整套私有化方案的核心,从来不是 “跑起来安卓”,而是隔离可控、可审计、可运维、可扩容。两条路线各有取舍:开源自建灵活、门槛高;商用私有化交付开箱即用、安全能力完备,是当前企业生产环境主流方案。六边云手机私有化方案,补齐了自建方案在驱动适配、管控平台、审计合规、信创适配上的短板,适合对数据主权、内网隔离有强需求的政企、自研 App、垂直行业客户。

a598652的博客 308

Android 开发入门实践(九):把新闻数据与页面状态交给 ViewModel

本文记录第110—117课学习成果:将页面标题、新闻列表及选中编号逐步迁移至NewsViewModel,通过ViewModelProvider获取实例并读取数据。页面调用ViewModel方法处理选择与返回,实现状态管理解耦。过程中纠正了对Activity重建机制的误解,并厘清mutableStateOf的可观察性与ViewModel对象生命周期的区别,深化了对Compose状态更新机制的理解。

Easyhood的博客 203

Android 17 全栈性能分析关键字与源码手册

FrameTimeline 找异常帧,ATrace 找阶段,thread_state 找等待类型,ftrace 找内核原因,Simpleperf 找 CPU 热点,驱动源码找最终触发条件;任何根因结论都必须回到同一对象、同一时间窗口和同一条依赖链。

weixin_43228946的博客 362

智叟云集-手机证据抓取系统的工程结构与应用入口

本文系统阐述手机证据抓取系统的工程结构与应用入口,涵盖四大层面:工程目录划分(Android、Python服务、Web页面、测试与构建工具);Android组件通过Manifest声明可启动页面,主界面由MainActivity管理;Python服务通过run.py解析参数并启动FastAPI应用,支持远程访问;浏览器页面采用HTML/CSS/JS分离架构,静态资源通过路径关联,实现动态交互。各模块分工明确,协同构建可运行的采集系统。

2301_77178996的博客 229

Android 系统启动与调试中的日志抓取方式全解析

│ 用户操作/系统事件 ││ │▼ ▼│ (驱动/硬件/内存管理) │ │ (App/SystemServer) ││ │ │ ││ │▼ ▼│ dmesg 命令 │ │ logd daemon ││ cat /proc/kmsg │ │ (分类存储到分区) ││ │▼ ▼│ 串口 UART │ │ logcat 命令 ││ (硬件直连,最早输出) │ │ adb logcat ││ │▼│ (汇总所有日志+系统状态) │工具最佳用途关键优势主要局限dmesg。

zhaoshuzhaoshu的专栏 256

【Android】听写播放器改版:中英文书写速度拆项与「正在读」高亮

现象:把播放页主体抽成后,里面给LazyColumn加想让它占满剩余高度,编译报错(weight 不可用)。原因weight不是通用修饰符,是RowScope的扩展函数。是个普通函数,函数体里没有接收者,自然调不到。解决private fun ColumnScope.PlaybackBody(...) { /* 这里就能用 Modifier.weight(1f) */ }调用处仍在原来的Column { }里,无需改动。预防:Compose 的布局修饰符都是作用域绑定。

木头大左的博客 220
上一篇: Android菜鸟日记7
下一篇: Android菜鸟日记9 Handler队列
iPoolo
博客等级 码龄17年 2粉丝 168原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值