android 自定义baseadapter listview,android之ListView和BaseAdapter的组合使用

BaseAdapter是基本适配器,功能强大,凡是能用ArrayAdapter和SimpleAdapter解决的,都可以使用BaseAdapter解决。

BaseAdapter是一个抽象类,所以需要自定义一个类来继承BaseAdapter。BaseAdapter中所必须重写的方法的意义:

public int getCount():在此适配器中所代表的数据集中的条目数

public Object getItem(int position):获取数据集中与指定索引对应的数据项

public long getItemId(int position):取在列表中与指定索引对应的行id

public View getView(int position, View convertView, ViewGroup parent):很重要的一个方法。在ListView上显示的数据的逻辑就是写在这个方法里。

BaseAdapterListViewActivity2.java中的内容package com.zzh.day_listview;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.ListView;

import android.widget.TextView;

/**实现图片文字混合显示

* @author Administrator

*

*/

public class BaseAdapterListViewActivity2 extends Activity

{

ListView lv;

List list = new ArrayList();

@Override

protected void onCreate(Bundle savedInstanceState)

{

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.base_listview);

// 初始化list集合。

for (int i = 0; i 

{

list.add("item --  " + i);

}

lv = (ListView) findViewById(R.id.listView1);

lv.setAdapter(new CustomBaseAdapter());

}

class CustomBaseAdapter extends BaseAdapter

{

@Override

public int getCount()//返回的是集合的大小

{

return list.size();

}

@Override

public Object getItem(int position)//返回的是第一个对象

{

return list.get(position);

}

@Override

public long getItemId(int position)

{

return 0;

}

@Override

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

{

ViewHolder vh ;

//优化

if(convertView == null)

{

//因为系统已经默认将R.layout.base_listview_item中的控件添加到了父控件中了,所以写null.

convertView = getLayoutInflater().inflate(R.layout.base_listview_item, null);

vh = new ViewHolder();

vh.iv = (ImageView) convertView.findViewById(R.id.p_w_picpathView1);

vh.tv = (TextView) convertView.findViewById(R.id.textView1);

convertView.setTag(vh);//将vh存起来,以达到代码优化的效果。

}else

{

vh = (ViewHolder) convertView.getTag();

}

vh.iv.setImageResource(R.drawable.ic_launcher);

vh.tv.setText(list.get(position));

return convertView;

}

class ViewHolder{

TextView tv;

ImageView iv;

}

}

}

base_listview.xml中的内容:<?xml  version="1.0" encoding="utf-8"?>

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@+id/listView1"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_alignParentTop="true" >

base_listview_item.xml中的内容:<?xml  version="1.0" encoding="utf-8"?>

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@+id/p_w_picpathView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_alignParentTop="true" />

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentRight="true"

android:layout_alignParentTop="true"

android:text="TextView" />

效果图:9bd39e51e21bf577630052084cd5c503.png

源代码下载链接:

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

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

相关文章

layui datetimepicker 只日期范围到当前时间的前一天_浪琴手表如何正确调整日期?手表调日期的方法...

浪琴手表怎么样&#xff1f;先看下品牌知识浪琴表起源于1832年&#xff0c;由一位年青商人Auguste Agassiz创办。他以自己的名字在瑞士Saint-Imier开始经营钟表生意&#xff0c;其后,他的侄儿Ernest Francillon巧妙地把其业务拓展为较具规模的钟表公司&#xff0c;于1866年在瑞…

尚未提交线上版本_ABRSM 线上演奏考试报名指引(目前考试仅限英国 amp; 部分国家及地区)...

昨天&#xff0c;ABRSM英国公布了2021年英国本土和亚洲部分地区演奏、乐理的“线上、线下”报名及考试时间&#xff0c;虽然中国大陆的考试时间为“待定”状态&#xff0c;但为了满足考生和家长了解线上演奏考试报名流程&#xff0c;今天我们就为大家作一个详尽的线上考试报名指…

关于以太网光纤收发器,逻辑隔离与物理隔离的理解与区别

现如今&#xff0c;随着以太网的广泛应用&#xff0c;在很多领域&#xff0c;比如说电力、银行、公安、部队、铁路、大型企事业单位专网有广泛物理隔离的以太网接入需求&#xff0c;但是什么是物理隔离以太网呢&#xff1f;什么又是逻辑隔离以太网呢&#xff1f;我们该如何判断…

javafx 自定义控件_JavaFX自定义控件– Nest Thermostat第2部分

javafx 自定义控件自从我开始创建Nest恒温器FX自定义控件以来&#xff0c;已经有一段时间了&#xff01; 因此&#xff0c;上次&#xff0c;正如Gerrit Grunwald所建议的那样&#xff0c;我花了一些时间使用inkscape复制Nest恒温器设计&#xff0c;这是构建JavaFX版本的第一步。…

初中参观机器人博物馆的作文_展馆导览机器人好不好用?小笨展馆机器人案例...

每次科技发展都会给社会带来技术变革&#xff0c;例如工业革命时代的纺纱机&#xff0c;发电机等&#xff0c;极大地提高了生产效率&#xff0c;推动了社会的进步。二十一世纪&#xff0c;人工智能成为了当下技术变革的排头兵&#xff0c;机器人作为其载体已经被应用在各类展馆…

同底数幂比较大小方法_知识体系构建:初中数学4大知识点及10大解题方法总结(干货)...

基本知识1.数与代数A、数与式&#xff1a;1. 有理数■ 有理数&#xff1a;①整数→正整数/0/负整数②分数→正分数/负分数■ 数轴&#xff1a;①画一条水平直线&#xff0c;在直线上取一点表示0(原点)&#xff0c;选取某一长度作为单位长度&#xff0c;规定直线上向右的方向为正…

4路电话光端机概述及产品特性详解

4路电话光端机&#xff0c;采用桌面型机箱结构设计&#xff0c;提供来电显示功能的4路普通电话接口。那么&#xff0c;关于4路电话光端机的功能、应用及产品特性这一块你是否了解呢&#xff1f;接下来我们就跟随飞畅科技的小编一起来详细了解下吧&#xff01; 4路电话光端机概…

word如何一键全选_学会这七个Word小技巧,五分钟完成3小时的工作

在办公中我们最常用的就是Word&#xff0c;而掌握一些常用Word小技巧&#xff0c;可以助力我们的办公效率&#xff0c;从此和加班说拜拜。今天就让我们一起来看看有哪些我们常用的Word小技巧&#xff0c;快点赞收藏起来吧~一、 Word小技巧汇总1. 文档加密限制编辑有时一些重要文…

服务器日志记录_5种改善服务器日志记录的技术

服务器日志记录在最近的时间里&#xff0c;我们已经看到了许多工具可以帮助您理解日志。 开源项目&#xff08;例如Scribe和LogStash&#xff09;&#xff0c;内部部署工具&#xff08;例如Splunk&#xff09;以及托管服务&#xff08;例如SumoLogic和PaperTrail&#xff09;。…

#让人物运动_篮球人物之黄云龙,淡泊名利的他是篮球运动员中的楷模,你可记得...

阅读本文前&#xff0c;请您先点击上面的“蓝色字体”&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到最新文章了。 说起CBA联赛&#xff…

HDMI光端机基本知识及相关品牌介绍

因技术的提高,光纤价格的降低使它在各个领域得到很好的应用,因此各个光端机的厂家就好比是雨后春笋般发展起来。但是这里的厂家大部分技术并不是完全成熟&#xff0c;开发新技术需要耗资和人力、物力等&#xff0c;这就产生厂家多是中小企业&#xff0c;各品牌也先后出现。但是…

线程,代码和数据–多线程Java程序实际运行的方式

有些事情是您在学术或培训班上没有学到的&#xff0c;经过几年的工作经验后才逐渐了解&#xff0c;然后才意识到&#xff0c;这是非常基本的事情&#xff0c;我为什么错过了这么多年。 了解多线程Java程序的执行方式就是其中之一。 您肯定已经听说过线程&#xff0c;如何启动线…

HDMI光端机是什么?hdmi光端机产品参数及性能特点介绍

HDMI光端机就是光信号传输的终端设备。在广泛领域应用中&#xff0c;往往需要把HDMI信号源输送远处进行处理。最为突出的问题有&#xff1a;远处接收到的信号出现偏色、模糊&#xff0c;信号产生重影和拖尾及网纹干扰。(多模)/(单模)HDMI视频光端机发送器和相应的光收发系列产品…

html中的保存功能代码怎么写,java保存html代码怎么写

java保存html代码怎么写[2021-01-31 03:29:24] 简介:php去除nbsp的方法&#xff1a;首先创建一个PHP代码示例文件&#xff1b;然后通过“preg_replace("/(\s|\&nbsp\;| |\xc2\xa0)/", " ", strip_tags($val));”方法去除所有nbsp即可。推荐&#xff…

hdmi光端机运用于多媒体信息发布系统案例介绍

杭州飞畅科技HDMI光端机运用于多媒体信息发布等应用系统中&#xff0c;能将HDMI音视频信号进行远距离传输。用普通的HDMI电缆长距离传输&#xff0c;会出现信号差&#xff0c;容易受干扰&#xff0c;显示出来的图像会出现模糊、拖尾、分色等现象。如果传输距离短&#xff0c;就…

西门子实数转整数_西门子PLC指令全都翻译过来了!

点击蓝字关注我们有时我们关注的公众号消息比较多&#xff0c;错过了一些自己喜欢的消息&#xff0c;不能及时看到工控论坛的推送&#xff0c;我们可以给公众号加星标或置顶。那如何星标置顶呢&#xff1f;【打开一篇工控论坛公众号的文章&#xff0c;点击文章标题下方的蓝色字…

鸿蒙os怎么还没发布,关于鸿蒙OS系统!小米为何从支持到“失声”?看看中兴就知道了!...

鸿蒙OS在还没有正式召开发布会的时候&#xff0c;大家就一直很关注友商们对于鸿蒙OS的态度。此前中兴就表过态&#xff0c;他们不会考虑鸿蒙OS的系统&#xff0c;因为中兴自己有这一方面的规划。而在鸿蒙发布之前&#xff0c;除了中兴是正式的官方发出了相关的态度之外&#xf…

js webapp://_Project Student:维护Webapp(只读)

js webapp://这是Project Student的一部分。 其他职位包括具有Jersey的 Web服务 客户端&#xff0c;具有Jersey的 Web服务服务器 &#xff0c; 业务层 &#xff0c; 具有Spring数据的持久性 &#xff0c;分片集成测试数据 &#xff0c; Webservice集成和JPA标准查询 。 当我开…

光端机安装调试需注意的几大因素

安装光端机时要做好现场的防护措施&#xff0c;防潮、防水、防尘&#xff0c;同时注意现场的实际操作&#xff0c;必须配备合适的光纤使用&#xff0c;不能使用残缺故障的光纤&#xff0c;如果不匹配&#xff0c;则会严重影响光端机传输质量&#xff0c;涉及光缆熔接时&#xf…

catia钣金根据线段折弯_钣金折弯加工注意事项有哪些?钣金折弯要点介绍

钣金折弯时金属加工中常用到的一道工序&#xff0c;它的用途十分广泛&#xff0c;是通过折弯机把一种板材加工成各种角度&#xff0c;加上数控功能后&#xff0c;钣金折弯有效地提高了加工精度和生产效率。然而&#xff0c;在钣金折弯过程中存在着一些注意事项和要点&#xff0…