当前位置: 首页 > news >正文

平板网站开发/唐山建站公司模板

平板网站开发,唐山建站公司模板,四川住建委官网首页,互联网网站建设咨询场景需求描述: 在android开发过程中,UI经常需要动态加载一个由任意数量的类似的项所构成的列表,因为其项的数量是不定的,而且可能动态改变,因此不能在xml文件中静态设置。而应使用“在xml中放置listView,在…

场景需求描述:

  在android开发过程中,UI经常需要动态加载一个由任意数量类似的项所构成的列表,因为其项的数量是不定的,而且可能动态改变,因此不能在xml文件中静态设置。而应使用“在xml中放置listView,在java代码中动态加载”的方式实现。

 

具体实现步骤

     一、在需要显示列表的activity中放置ListView组件(不再赘述)

     二、创建并设计好一项的布局文件(同样不再赘述)

     三、根据一项的各种组件,创建继承自BaseAdapter的自定义Adapter

              这里是核心,创建一个继承自BaseAdapter的类,一般至少需要定义或重写其五个方法。但是在重写之前,先要在这个类里新加一个数据成员,也就是关于你的每一项的数组,比如说你的一个列表项是由两个TextView构成的。那么这个数组就为

           ArrayList<String> data = new ArrayList<>();

以此类推,有必要的话,写个合适的内部类来指定这个数据的类型。

            之后,定义第一个方法构造方法,要求参数一般是Context用于创建Inflater来实例化你的布局文件和一个data的类型来初始化数据,有时,如果有需要对Activity的操作的话,可以把Context换成Activity。构造方法里就进行一些最基本的数组的初始化操作即可。(关于每一项的具体内容初始化,要放到getView()里)。在强调一遍,一般要在这里利用Context初始化一个Inflater成员变量,以便重写后面的getView()方法

           接着是重写第二个方法,

             getCount()

如果在没有特殊业务需求的情况下一般上述data的size()即可;

            然后重写第三个方法,

            getItem(int position)

如果在没有特殊业务需求的情况下一般也返回上述data.get(position)即可;

         第四个方法

           getItemId(int position)

没有为数据定义特别的ID的话,就返回postion就行

重点是最后一个方法的重写

           View getView(int position, View convertView, ViewGroup parent) 

这个方法就是BaseAdapter用于生成你每一个列表项所要调用的方法。

            先简要说明一下参数,position就是当前UI项的下标,用来对应你的data下标;

                                                 convertView是一个列表项的视图对象,在第一次调用时为null,后面更更新视图调用时不为null,所以用之前一定要检验其是否为null,不然会报空指针异常;

                                                   parent就是这个列表项视图最终归属的父视图

      了解完参数的含义后,以每一个列表项为两个TextView为例(id分别假设为text1、text2,data为ArrayList<String[]>),来进行一次重写

@Override  public  View getView(int position, View convertView, ViewGroup parent){String[] twoTexts = null;if(convertView == null){converView = inflater.inflater(R.layout.item,parent,false);TextView firstText = (TextView)convertView.findViewById(R.id.text1);TextView secondText = (TextView)convertView.findViewById(R.id.text1);//下面是对两个TextView的一些操作,这里取最简单的直接拿data初始化twoTexts = data.get(postion);firstText.setText(twoTexts[0]);secondText.setText(twoTexts[1]);}return convertView;
}

 

最后在你的Activity获取到ListView对象,直接

         

ArrayList<String[]> data = new ArrayList<>();
data.add(new String[]{"第一项的text1","第一项的text2"});
data.add(new String[]{"第二项的text1","第二项的text2"});
listView.setAdapter(new YourAdapter(YourActivity.this,data));

   大功告成!

http://www.lbrq.cn/news/1027945.html

相关文章:

  • 安平有做网站推广的吗/外链大全
  • 网站怎么做备份/竞价推广营销
  • 网站静态/微信营销的优势
  • 网站建设服务费下什么科目/合肥关键词排名
  • 上海做网站哪家好/百度点击软件找名风
  • 网站如何做背景音乐/新平台推广赚钱
  • 企业网站搭建 网络活动策划/百度网盘电脑版下载
  • 推广运营公司网站/seo免费
  • 给我免费播放片高清在线观看授他以柄电视剧/百度小程序对网站seo
  • 做企业网站合同/广东东莞大益队
  • 建立网站的公司杭州/免费外链发布平台
  • 做食品行业网站/今天有什么新闻
  • 北京网站制作收费标准/网络营销岗位职责和任职要求
  • 无锡模板建站源码/广州seo服务外包
  • 做泵阀生意到哪个网站/网站优化建议
  • 网站运营与维护是什么意思/seo发包技术教程
  • 怎么找出网站的备案号/外贸seo建站
  • 最简单的网站开发国际化/中国舆情观察网
  • 石家庄做网站最好的公司/2020年可用好用的搜索引擎
  • 同城做哪个网站推广效果好/抖音seo优化软件
  • 网站建设行业赚钱么/成都seo整站
  • 营销型网站展示/自己个人怎样做电商
  • 视频背景制作软件app/天津seo网站排名优化公司
  • wordpress设置新页面跳转/2022年seo还值得做吗
  • 网络公司网站源码/网页优化seo公司
  • 网站一次性链接怎么做的/广州百度搜索排名优化
  • 宝鸡seo/seo关键词排名优化哪家好
  • 店面设计费用/长春关键词优化报价
  • 网站建设的成本/sem是什么检测分析
  • 济南微网站/关键词seo报价
  • CVPR 2025 | 机器人操控 | RoboGround:用“掩码”中介表示,让机器人跨场景泛化更聪明
  • GoLand 项目从 0 到 1:第八天 ——GORM 命名策略陷阱与 Go 项目启动慢问题攻坚
  • 2025年5月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(三)
  • python的游戏评级论坛系统
  • 全球AI安全防护迈入新阶段:F5推出全新AI驱动型应用AI安全解决方案
  • linux 执行ls命令文件夹显示全白色