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,一经查实,立即删除!

相关文章

【渝粤教育】 国家开放大学2020年春季 2710蔬菜栽培技术 参考试题

试卷代号&#xff1a;2718 2 0 2 0年春季学期期末统一考试 动物生理基础 试题 2020年7月 一、单项选择题&#xff08;共15分&#xff0c;每小题3分&#xff09; 1&#xff0e;营养物质分解产物的主要吸收部位在( )。 A&#xff0e;食管 B&#xff0e;胃 C&#xff0e;小肠 D&am…

【渝粤教育】 国家开放大学2020年春季 2772家畜环境卫生与设施 参考试题

试卷代号&#xff1a;2776 座位号口口 2 0 2 0年春季学期期末统一考试 兽医基础 试题 2020年7月 一、单项选择题&#xff08;每题3分&#xff0c;共60分&#xff09; 1&#xff0e;局部贫血病理变化特征之一是( )。 A&#xff0e;发红 B&#xff0e;水肿 C&#xff0e;发凉 D&a…

构建器模式_我喜欢构建器模式的三个原因

构建器模式有三种方法可以用Java编程语言创建新对象&#xff1a; 伸缩构造函数&#xff08;反&#xff09;模式 Javabeans模式 建造者模式 与其他两种方法相比&#xff0c;我更喜欢使用构建器模式。 为什么&#xff1f; Joshua Bloch描述了构建器模式以及在Effective Jav…

如何分辨PoE工业交换机是否标准供电

要了解如何分辨出一台PoE交换机/PoE工业交换机是否是标准PoE供电&#xff0c;首先得要弄清楚什么是PoE交换机/PoE工业交换机。接下来我们就跟随飞畅科技的小编一起来详细了解下吧&#xff01; PoE供电交换机是指能够通过网线为远端受电终端提供网络供电的交换机&#xff0c;包…

android 蒙层广告1,subnvue安卓机打开只显示蒙层,没有任何内容【报Bug】

详细问题描述subnvue子窗体&#xff0c;在iphone上测试正常&#xff0c;而在安卓手机测试出现打开只有一个灰色蒙层&#xff0c;没有任何内容。经过调试之后发现&#xff1a;"style": {"top": "0px","bottom": "0px","…

【渝粤教育】 国家开放大学2020年春季 3956★汽车故障诊断技术 参考试题

试卷代号&#xff1a;3979 座位号 2 0 2 0年春季学期期末统一考试 会计学概论 试题 2020年7月 一、单项选择题&#xff08;在下列各题的备选答案中选择一个正确的&#xff0c;并将其序号字母填入题中的括号里&#xff0c;每小题2分&#xff0c;共20分&#xff09; 1&#xff0e…

【渝粤教育】 国家开放大学2020年春季 1007公司财务 参考试题

试卷代号&#xff1a;1013 2 0 2 0年春季学期期末统一考试 金融统计分析 试题&#xff08;开卷&#xff09; 2020年7月 一、单项选择题&#xff08;每小题2分&#xff0c;共40分。每小题有一项答案正确&#xff0c;请将正确答案的序号填在括号内&#xff09; 1&#xff0e;中央…

工业交换机出现故障问题排查步骤详解

工业交换机虽然说具有电信级性能特征&#xff0c;可耐受严苛的工作环境&#xff0c;但是其运行中出现故障问题是不可避免的&#xff0c;当工业交换机出现故障后应当迅速地进行处理&#xff0c;尽快查出故障点&#xff0c;排除故障。在遇到故障分析较复杂时&#xff0c;必须先从…

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

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

android studio ignore 模板,android studio git ignore

android studio 集成的git图形界面并不灵敏,希望更依赖shell命令1.该项目已有git仓库,打算换地址,或者重新做git命令.删除当前项目app文件夹下.git文件* 打开项目,进入Terminal命令行* git init 初始化当前项目本地仓库* 在APP文件夹下,打开.gitignore文件,书写以下内容# built…

【渝粤教育】 国家开放大学2020年春季 1013金融统计分析 参考试题

试卷代号&#xff1a;1020 2 0 2 0年春季学期期末统一考试 国际私法 试题 2020年7月 一、单项选择题&#xff08;每题2分&#xff0c;共20分&#xff0c;每题只有一项答案正确&#xff0c;请将正确答案的序号填在括号内&#xff09; 1.法律的域外效力也称为&#xff08; &#…

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

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

【渝粤教育】 国家开放大学2020年春季 1021劳动与社会保障法 参考试题

试卷代号&#xff1a;1026 座位号□□ 2 0 2 0年春季学期期末统一考试 西方经济学&#xff08;本&#xff09; 试题 2020年7月 一、单项选择题&#xff08;每题2分&#xff0c;共30分&#xff0c;请将你认为的正确答案的序号填入该题后的括号内&#xff09; 1&#xff0e;-般来…

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

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

android studio zlib,在Android Studio 3.1中构建项目时出现“压缩执行失败”错误

我正在尝试在Android Studio 3.1预览版中构建https://github.com/neural-nuts/Cam2Caption&#xff0c;但是我使用的是很旧的build.gradle&#xff0c;或者它死于Error:Execution failed for task :Application:packageDebug.Execution of compression failed.在清理项目或重建…

【渝粤教育】 国家开放大学2020年春季 1039高级财务会计 参考试题

试卷代号&#xff1a;1044 座位号 2 0 2 0年春季学期期末统一考试 合同法 试题 2020年7月 一、单项选择题&#xff08;每小题1分&#xff0c;共10分。在每小题的四个备选答案选出一个正确的答案&#xff0c;请将正确答案的序号填在括号内&#xff09; 1&#xff0e;合同根据其成…

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;机器人作为其载体已经被应用在各类展馆…

【渝粤教育】 国家开放大学2020年春季 1054流通概论 参考试题

试卷代号&#xff1a;1062 2 0 2 0年春季学期期末统一考试 文学英语赏析 试题 2020年7月 注 意 事 项 一、将你的学号、姓名及分校&#xff08;工作站&#xff09;名称填写在答题纸的规定栏内。考试结束后&#xff0c;把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考…

3G-SDI光端机产品技术参数规格及产品应用领域

3G-SDI系列光端机性能稳定、画质清晰、稳定性高&#xff0c;并带LED状态指示&#xff0c;可直观地观察光端机的工作状态&#xff0c;适合SDI视频监控和远距离视频采集。接下来我们就来为大家详细介绍下3G-SDI光端机产品技术参数规格及产品应用领域&#xff0c;一起来看看吧&…