vs2008做网站教程东莞推广

pingmian/2025/10/7 23:02:36/文章来源:
vs2008做网站教程,东莞推广,wordpress 主题预览插件,有没有专门做花鸟鱼虫的网站在上一篇中#xff0c;我们说过#xff0c;在setData中如果有很多控件的话#xff0c;我们还是要在该方法中写入很多代码#xff0c;为了降低开发的方便性#xff0c;本次就在此基础上再一次优化。实现原理是这样的#xff0c;每次在setData中都要查找控件#xff0c;然…在上一篇中我们说过在setData中如果有很多控件的话我们还是要在该方法中写入很多代码为了降低开发的方便性本次就在此基础上再一次优化。实现原理是这样的每次在setData中都要查找控件然后setXXX()什么的我们可以把这写实现放如到ViewHolder中去在ViewHolder中写入一个链式的方法来帮助我们来实现功能(关于ViewHodler类的代码我就不再重复写了代码在此Android之自定义实现BaseAdapter(通用适配器一) )链式方法如下public ViewHolder setText(int viewId, String data){TextView tv getView(viewId);tv.setText(data);return this;}通过这个方法我们可以很好的去设置对应的内容只需要传一个需要设置控件的id然后传对应的数据就可以达到设置文字的效果了下面再看看我们的MyAdapter.java中的代码MyAdapter.java/*** 上一篇中的MyAdapter*/public class MyAdapter extends MyBaseAdapter {public MyAdapter(List data) {super(data);}Overridepublic void setData(ViewHolder holder, Student t) {TextView tvName holder.getView(R.id.mTv1);tvName.setText(t.getName());TextView tvSex holder.getView(R.id.mTv2);tvSex.setText(t.getSex());}}/*** 优化后的MyAdapter*/public class MyAdapter extends MyBaseAdapter {public MyAdapter(List data) {super(data);}Overridepublic void setData(ViewHolder holder, Student t) {holder.setText(R.id.mTv1, t.getName()).setText(R.id.mTv2, t.getSex());}}ok对比一下setData中的实现我们这里只用一条代码就可以代替上面的实现了这样是不是更方便呢这样的话我们的扩展就更加方便了如果说我们不仅仅只是设置文本内容而是通过图片控件设置图片呢很简单我们只需要在ViewHolder中再添加我们要实现的方法即可比如设置图片我们可以添加如下代码public ViewHolder setImageResource(int viewId,int resId){ImageView img getView(viewId);img.setImageResource(resId);return this;}public ViewHolder setImageBitmap(int viewId, Bitmap bm){ImageView img getView(viewId);img.setImageBitmap(bm);return this;}添加这两个方法后需要设置图片就很轻松了只需在setData中传递对应的参数即可Overridepublic void setData(ViewHolder holder, Student t) {holder.setText(R.id.mTv1, t.getName()).setText(R.id.mTv2, t.getSex());holder.setImageResource(R.id.img1,资源id).setImageBitmap(R.id.img2,bm);}好了一个通用的适配器就已经完成了整体框架和代码都已经实现了我将所有的代码都综合一下写在下面方便大家使用分别是MainActivity.java(主界面类负责传参设置ListView的数据)、MyAdapter.java(自定义的适配器)、MyBaseAdapter.java(通用的适配器类)、ViewHolder.java(通用的持有类对象)、以及实体类Student.javaMainActivity.javapublic class MainActivity extends AppCompatActivity{private List data;private ListView mList;MyAdapter adapter;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);getData();mList (ListView) findViewById(R.id.mList);adapter new MyAdapter(data);mList.setAdapter(adapter);}private void getData() {data new ArrayList();Student stu null;for (int i 0; i 20; i) {stu new Student();stu.setName(姓名 i);stu.setSex(i % 2 0 ? 男 : 女);data.add(stu);}}}MyAdapter.javapublic class MyAdapter extends MyBaseAdapter {public MyAdapter(List data) {super(data);}Overridepublic void setData(ViewHolder holder, Student t) {holder.setText(R.id.mTv1, t.getName()).setText(R.id.mTv2, t.getSex());}}MyBaseAdapter.javapublic abstract class MyBaseAdapter extends BaseAdapter {protected List data;public MyBaseAdapter(List data){this.data data;}Overridepublic int getCount() {return data null ? 0 : data.size();}Overridepublic Object getItem(int position) {return data.get(position);}Overridepublic long getItemId(int position) {return position;}Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder ViewHolder.getHolder(convertView,parent,position, R.layout.list_item);setData(holder,data.get(position));return holder.getConvertView();}public abstract void setData(ViewHolder holder,T t);}ViewHolder.javapublic class ViewHolder {private int position;private SparseArray array;private View convertView;private Context context;private ViewHolder(ViewGroup parent, int position, int layout) {this.position position;this.context parent.getContext();convertView LayoutInflater.from(parent.getContext()).inflate(layout, null);convertView.setTag(this);array new SparseArray();}public static ViewHolder getHolder(View convertView, ViewGroup parent, int position, int layout) {if (convertView null) {return new ViewHolder(parent, position, layout);} else {ViewHolder holder (ViewHolder) convertView.getTag();holder.position position;return holder;}}public T getView(int viewId) {View view array.get(viewId);if (view null) {view convertView.findViewById(viewId);array.put(viewId, view);}return (T) view;}public View getConvertView() {return convertView;}public ViewHolder setText(int viewId, String data) {TextView tv getView(viewId);tv.setText(data);return this;}public ViewHolder setImageResource(int viewId, int resId) {ImageView img getView(viewId);img.setImageResource(resId);return this;}public ViewHolder setImageBitmap(int viewId, Bitmap bm) {ImageView img getView(viewId);img.setImageBitmap(bm);return this;}}Student.javapublic class Student {private String name;private String sex;public String getName() {return name;}public void setName(String name) {this.name name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex sex;}}以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89608.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做外汇网站代理怎么制作一个网站首页

在 Windows 系统中添加一个右键菜单选项,以便可以使用管理员权限打开 PowerShell,可以通过编辑注册表来实现。 打开注册表编辑器: 按 Win R 打开运行对话框。输入 regedit 并按回车,这将打开注册表编辑器。 导航到文件夹背景键&…

php网站开发优点ui设计培训机构有用吗

网络安全态势严峻,常见的五大网络攻击风险类型 赵伟认为,企业线上服务所面临的安全风险,主要来自以下五个方面: DDoS攻击 DDoS攻击类型已有20多年历史,它攻击方式简单直接,通过伪造报文直接拥塞企业上联带…

免费网站怎么做啊潍坊网站

数字非压缩光端机主要应用于高速公路监控领域,可以保证实时性,指的是不经过压缩进行光传输的光端机,是在非压缩光端机基础上利用ADM电分插复用与TDM时分复用技术在一根光纤中实现多点多路(最大16个视频点)视频传播的光…

公司网站建设企划书盘锦网站变建设

今日概要 递归爬取解析多页页面数据scrapy核心组件工作流程scrapy的post请求发送今日详情 1.递归爬取解析多页页面数据 - 需求:将糗事百科所有页码的作者和段子内容数据进行爬取切持久化存储 - 需求分析:每一个页面对应一个url,则scrapy工程需…

安阳企业建网站个人如何做商城网站

正则表达式 1.元字符 . //匹配任意单个字符,可以是个汉字 [yang] //匹配范围内的任意单个字符 [^y] //匹配处理指定范围外的任意单个字符 [:alnum:] //字母和数字 [:alpha:] //代表…

衡水建设公司网站PHP网站开发简单实例

下面的代码,照着复制就能跑起来 今天看了下Spring的Configuration,即java类配置bean,(这个spring3的新功能,虽然现在已经spring5了,但是这种配置bean的方式也是比较火的) 做了如下测试,发现一个…

龙岗建设网站做网站运用的软件

原文:01. 把存储过程结果集SELECT INTO到临时表在开发过程中,很多时候要把结果集存放到临时表中,常用的方法有两种。 一. SELECT INTO 1. 使用select into会自动生成临时表,不需要事先创建 select * into #temp from sysobjects select * fro…

插画师个人网站是怎么做的wordpress博客备份

最近做了IAP U盘升级模块开发,总结下IAP基本开发流程,不深入讨论原理。 详细原理参考 首先需要知道我们需要把之前的APP区域拆一块出来做BOOT升级程序区域。 以STM32F103为例,0x08000000到0x0807FFFF为FLASH空间,即上图代码区域…

北京住房城乡建设网站南宁手机平台网站

web资源类型: 静态资源:原始形式与响应内容一致,在客户端浏览器执行 动态资源:原始形式通常为程序文件,需要在服务器端执行之后,将执行结果返回给客户端 LAMP架构组成: L:linux …

建设银行网站表单清理推荐郑州网站建设公司

93.复原IP地址 思路: 与分割回文串相似,复原ip地址是将给定字符串分割成点分十进制的四段,切割问题就可以使用回溯搜索法把所有可能性搜出来。回溯三部曲: 递归参数:除了传入的需要分割的字符串,仍然需要…

好用的h5网站在线网站地图生成器

HwBinder与普通Binder是一样的,区别是前者是专门给硬件使用,后者是给一般的应用程序使用,为了不影响现有的binder,单独增加硬件的HwBinder来实现硬件相关进程的通信。 HwBinder也是有四部分组成:hwservermanager、server、client…

seo网站推广专员招聘手机网站建设wap

对于有些服务端接口返回是固定值的json,可通过配置nginx直接返回json,减少程序的加载对资源的占用,减少接口响应时间 location ~* (request/update)$ { default_type application/json; return 200 {"update":"no&quo…

做建筑设计的网站推荐提升学历选什么专业比较好

科技3D线上云展馆作为一种基于VR虚拟现实和互联网技术的新一代展览平台。可以在线上虚拟空间中模拟真实的展馆,让观众无需亲自到场,即可获得沉浸式的参观体验。通过这个展馆,您可以充分、全面、立体展示您的产品、服务以及各种创意作品&#…

网站建站一本通山西网站制作平台

点、线、边缘检测背景知识。书中主要介绍了图像的一阶导数与二阶导数,这个之前的文章中有过介绍这里在复习一遍。对于函数 ,对于点 在x方向的一阶偏导为:,二阶偏导为:之后书中总结了一阶导与二阶导对于图像求取边缘的结论:孤立点检…

建设部网站危险性较大邮政管理网站建设

结构化查询语言(SQL)是一种广泛使用的工具,用于管理和操作数据库。基本的SQL查询简单易学,但掌握高级SQL技术可以将您的数据分析和管理能力提升到新的高度。 高级SQL技术是指一系列功能和函数,使您能够对数据执行复杂…

优秀网站下载建设网站站点过程中

表达式求值问题 ①问题描述 表达式是数据运算的基本形式。人们的书写习惯是中缀式,如:1122*(7-4)/3。中缀式的计算按运算符的优先级及括号优先的原则,相同级别从左到右进行计算。表达式还有后缀式(如:22 7 4 - * 3 / 1…

装修设计案例网站苏州网页设计多少钱

亲爱的猎人:我们将于9月20日0:00对所有大区全部服务器进行更新维护,本次维护预计时间4小时。还请猎人们提早下线,避免不必要的损失。我们将视实际情况提前或延迟开服,感谢大家的支持!维护时间:2016年9月20日(周二)0:00…

网站开发与维护考察试题photoshop破解版下载免费中文版

国外黑客杂志: 《phrack》黑客杂志 http://www.phrack.org 《phrack》创刊于80年代,是世界级的顶级黑客杂志,每年只有一期,现已出了65期,国人似乎至今只有三人在上面发表发表文章,三人好像都是绿盟的人&…

设计图片网站哪个好五金东莞网站建设技术支持

文章目录 一 、前言二、RN与安卓通信2.1 RN 调用安卓原生组件2.2 RN 应用消息机制方式与安卓原生代码切换2.3 RN 应用 Promise 机制与安卓原生代码通信2.4 RN 应用 callback 回调方式与安卓原生代码通信 三、RN与IOS通信3.1 定义导出的方法名3.2 promise 实现回调函数3.3 继承 …

德国建设部网站台州网站设计飞速

在建立数据设计模型时,我们需要注意表设计与类设计之间的差别,这事实上是数据模型与对象模型之间的差别。 数据模型与对象模型 我们首先来分析在设计时对冗余的考虑。前面在讲解数据分析模型时就提及,在确定数据项模型时,需要遵…