扩展BaseAdapter可以对各列表项进行最大限度的定制,具体描述请看以下代码:

baseadapter_list布局文件:

<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><ListViewandroid:id="@+id/lv_baseadapter"android:layout_width="fill_parent"android:layout_height="wrap_content" ></ListView></LinearLayout></span>

baseadapter布局文件:

<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><LinearLayout android:id="@+id/ll_top"android:layout_height="wrap_content"android:layout_width="fill_parent"android:orientation="horizontal"><ImageView android:id="@+id/iv_image"android:layout_height="wrap_content"android:layout_width="wrap_content"android:scaleType="fitXY"android:src="@drawable/a5i"android:layout_gravity="center"/><LinearLayout android:id="@+id/ll_right"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"android:layout_marginTop="4dp"><TextView android:id="@+id/tv_title"android:layout_height="wrap_content"android:layout_width="wrap_content"android:textSize="20sp"android:text="AS"/><TextView android:id="@+id/tv_des"android:layout_height="wrap_content"android:layout_width="wrap_content"android:textSize="13sp"android:text="AS"/></LinearLayout>
</LinearLayout>
</RelativeLayout></span>

BaseAdapterTest主文件:

<span style="font-size:18px;">public class BaseAdapterTest extends Activity {int[] images = new int[] { R.drawable.a5i, R.drawable.a5j, R.drawable.a5k };String[] titles = new String[] { "电话", "QQ", "联系人" };String[] des = new String[] { "当前无电话记录", "当前无QQ聊天记录", "最近无联系人" };private ListView lv_baseadapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.baseadapter_list);initView();setDate();}private void initView(){//注册控件lv_baseadapter=(ListView)findViewById(R.id.lv_baseadapter);//注册单击事件lv_baseadapter.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {Toast.makeText(BaseAdapterTest.this, "点击了第"+position+"项", Toast.LENGTH_SHORT).show();}});}private void setDate(){//绑定适配器lv_baseadapter.setAdapter(baseAdapter);}BaseAdapter baseAdapter=new BaseAdapter() {/**返回第postion处的列表项组件* @see android.widget.Adapter#getView(int, android.view.View, android.view.ViewGroup)*/@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder viewHolder=new ViewHolder();if(null==convertView){LayoutInflater layoutInflater=LayoutInflater.from(BaseAdapterTest.this);convertView=layoutInflater.inflate(R.layout.baseadapter, null);viewHolder.iv_image=(ImageView)convertView.findViewById(R.id.iv_image);viewHolder.tv_title=(TextView)convertView.findViewById(R.id.tv_title);viewHolder.tv_desc=(TextView)convertView.findViewById(R.id.tv_des);/** 将当前的View和ViewHolder绑定*/convertView.setTag(viewHolder);}else{/** 为已经取得绑定的View调用getTag()方法,当前的view就不必重新绘制,* 减少内存资源。*/viewHolder=(ViewHolder)convertView.getTag();}viewHolder.iv_image.setImageResource(images[position]);viewHolder.tv_title.setText(titles[position]);viewHolder.tv_desc.setText(des[position]);return convertView;}/** 返回第postion处的列表项的ID* @see android.widget.Adapter#getItemId(int)*/@Overridepublic long getItemId(int position) {return position;}/** 返回第postion处的列表项的内容。该方法在事件监听时会调用* @see android.widget.Adapter#getItem(int)*/@Overridepublic Object getItem(int position) {return position;}/** 返回该Adapter将会包含多少个列表项* @see android.widget.Adapter#getCount()*/@Overridepublic int getCount() {return titles.length;}}; private class ViewHolder{ImageView iv_image;TextView tv_title;TextView tv_desc;}
}</span>

转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/42400261  情绪控_

Android之BaseAdapter使用相关推荐

  1. Android之BaseAdapter—convertView回收机制与动态控件响应

    前言:对于listView的BaseAdapter的派生,难度比较大.最难理解的莫过于getView(int position, View convertView, ViewGroup parent) ...

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

    BaseAdapter是基本适配器,功能强大,凡是能用ArrayAdapter和SimpleAdapter解决的,都可以使用BaseAdapter解决. BaseAdapter是一个抽象类,所以需要自 ...

  3. Android使用BaseAdapter绑定ListView实现不同item的TextView多种文字变色

    工程目录: Activity package com.example.test1121;import androidx.appcompat.app.ActionBar; import androidx ...

  4. android getitem,android中Baseadapter的 getItem 跟 getItemId 的作用和重写

    android中Baseadapter的 getItem 和 getItemId 的作用和重写 重写Baseadapter时,我们知道需要重写以下四个方法:getCount,getItem(int p ...

  5. android 自定义baseadapter listview,Android 自定义 BaseAdapter 最佳实践

    虽然现在很多新的项目都在使用RecyclerView,但是很多开发者在一些场景中还是倾向使用ListView或者GridView,然后就是需要写许多的Adapter.一次项目组在新启动一个新项目的时候 ...

  6. Android——利用BaseAdapter实现GridView

    Android学习一点一点进步! 设置布局 设置子项布局 定义BaseAdapter 设置MainActivity 先写个主框架 <LinearLayout xmlns:android=&quo ...

  7. Android 对BaseAdapter做优化处理

    对于BaseAdapter相信大家都不陌生,都知道该怎样用.怎样显示数据.怎样尽可能的把每个item做的令自己满意.但问题来了:有些朋友会说我界面做的非常的漂亮,数据也显示的非常完美,但是问什么我的L ...

  8. android开发 BaseAdapter中getView()里的3个参数是什么意思

    BaseAdapter适配器里有个getView()需要重写public View getView(int position,View converView,ViewGroup parent){ // ...

  9. Android中BaseAdapter使用总结(imooc笔记)

    ListView的显示与缓存机制,需要才显示,显示完就被收回到缓存 BaseAdapter--数据适配器 public int getCount()---适配器中数据集中数据的个数 public Ob ...

最新文章

  1. 2020腾讯AI Lab犀牛鸟专项研究及访问学者计划入选项目公布!!!
  2. CSS 禁止文字选中
  3. php数组指针什么用,php数组指针用法详解
  4. Linux多个端口组合,iptables使用multiport 添加多个不连续端口
  5. AXI_05 AXI_FULL_IP的设计与验证
  6. SQL查询优化《三》:少做重复的工作
  7. 数字滤波器(六)--设计FIR滤波器
  8. Transact-SQL 语法约定
  9. 使用rsync无密码传输
  10. consul 服务发现 集群 docker 版
  11. Wheel ProgressBar 实现之三——模拟进度过程
  12. I2C驱动12864液晶模块程序分享ARDUINO UNO
  13. 使用python制作趣味小游戏—投骰子
  14. 单片机---HLK-W801图形框架LVGL下开发(六)
  15. javascript重定向的方法和区别
  16. SIGAR - System Information Gatherer And Reporter
  17. BinaryOperator示例
  18. 卡特兰数 默慈金数 默慈金三角形 反射原理
  19. 小猿圈python之python期末考试测试题(二)_小猿圈Python开发面试题(一)
  20. 甲午海战北洋水师战败的战术分析

热门文章

  1. uml 类图_UML 类图
  2. php7 windows2008,【笔记】Windows Server2008 R2 安装 PHP7 缺少 API-ms-win-crt-runtime-l1-1-0.dll 解决方案...
  3. 马王堆汉墓帛书‧老子甲本——道经
  4. Atitit.eclipse 4.3 4.4  4.5 4.6新特性
  5. IP地址的划分和配置路由
  6. 登录mysql出现/var/lib/mysql/mysql.sock不存在
  7. MVC使用 Elmah 日志记录组件
  8. ubuntu下安装nagios
  9. Category简介 (上篇)
  10. DHCP服务器的搭建