`
250367976
  • 浏览: 26774 次
社区版块
存档分类
最新评论

Android学习笔记之BaseAdapter自定义适配器

阅读更多

做的这个适配器是继承BaseAdapter的,我们都知道使用listview要绑定数据,Android系统也提供了一个SimpleAdapter,这一个很强大,可以实现很多功能,但有时候我们需要一些个性化的设置,所以就需要自定义了

首先是我们的Adapter类:

public class MyAdapter extends BaseAdapter{

	private List<? extends Map<String, ?>> listItems;
	private LayoutInflater listContainer;
	
	private class RecentViewHolder {//容器  
        TextView word;  
        TextView explain;  
        
    }  
	
	public MyAdapter(Context context,List<Map<String,Object>> listItems) {
		listContainer = LayoutInflater.from(context);
        this.listItems = listItems;
    }
	
	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		 return listItems.size();  
	}

	@Override
	public Object getItem(int position) {
		// TODO Auto-generated method stub
		 return listItems.get(position);
	}

	@Override
	public long getItemId(int position) {
		// TODO Auto-generated method stub
	     return position; 
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {//listview的每个Item都会执行一遍
		// TODO Auto-generated method stub
		RecentViewHolder listItemView = null;
		if (convertView == null) {
		    //获取控件
			listItemView = new RecentViewHolder();
			convertView = listContainer.inflate(R.layout.list, null);
			listItemView.word=(TextView)convertView.findViewById(R.id.textView2);  
			listItemView.explain=(TextView)convertView.findViewById(R.id.textView3);  
			
			convertView.setTag(listItemView);//把容器添加到View
        } else {
        	listItemView = (RecentViewHolder) convertView.getTag();
        }
     //给控件设置值,也是自己的个性化区域,加什么就在这里吧,别犹豫了
		listItemView.word.setText(listItems.get(position).get("Word").toString());  
		listItemView.explain.setText(listItems.get(position).get("Explain").toString());  
		
		return convertView;
	}
	
}

 Adapter类定义完后就可以用了:

MyAdapter myAdapter = new MyAdapter(main.this, list);

 

分享到:
评论

相关推荐

    Android学习笔记之常用控件

    在Android开发中,掌握常用控件的使用是至关重要的,因为它们构成了用户界面的基础。本篇将详细讲解两个常用的控件:...在实际项目中,你可能还需要考虑更多细节,如动画效果、自定义适配器等,以满足更复杂的需求。

    ANDROID学习笔记4

    ### ANDROID学习笔记4 #### 一、ListView深入解析与实战应用 在Android开发中,`ListView`是一种非常重要的UI组件,它能够显示一个可以滚动的列表,支持单选或多选模式。本节将详细介绍`ListView`的基本用法、...

    Android基础笔记

    Android 基础笔记是 Android 开发的入门知识点总结,涵盖了 Android 开发的基础知识点,从 Android 发展史到自定义 ContentProvider 的实现。 一、Android 发展史 Android 的发展史可以追溯到 2003 年,最初由 ...

    Android学习笔记九:基本视图组件:Spinner

    本篇学习笔记将深入探讨Spinner的使用、工作原理以及如何自定义它来满足特定需求。 一、Spinner的基本用法 1. 添加Spinner到布局文件: 在XML布局文件中,通过`&lt;Spinner&gt;`标签添加Spinner,可以设置其属性如id、宽...

    Android学习笔记含JNI、USB和ftdi通信方式详解

    ### Android学习笔记含JNI、USB和ftdi通信方式详解 #### 项目四:多线程文件下载 在Android开发中,文件下载是一个常见的需求。利用多线程技术可以提高文件下载的速度,尤其在网络条件较差的情况下更为明显。多...

    Android学习新手笔记

    标题《Android学习新手笔记》所涉及的知识点: 1. Android背景知识 - Android系统基于Linux系统开发,拥有开放源码。 - Android系统框架由多个组件构成,其中包括Activity、Intent、Service、ContentProvider、...

    Android 学习笔记(十五):Activity-GalleryView.doc

    总结来说,`Activity-GalleryView`的学习笔记主要涵盖了如何在Android应用中使用`GalleryView`来展示图片,包括`LogCat`调试、`GalleryView`的XML布局、自定义适配器的实现以及事件监听的处理。虽然`GalleryView`在...

    Android移动应用开发学习笔记(listview和适配器的使用)

    在Android应用开发中,ListView的使用通常伴随着自定义适配器,这里以BaseAdapter为例。首先在布局文件中添加ListView控件,然后在MainActivity中创建一个继承自BaseAdapter的内部类。BaseAdapter有四个核心方法: ...

    Android开发学习笔记 Gallery和GridView浅析

    4. **适配器**:同样,`GridView`也需要一个`Adapter`来提供数据,可以是`BaseAdapter`、`ArrayAdapter`或其他自定义适配器。 ### 两者的比较 - **布局**:`Gallery`呈现单行水平滚动,而`GridView`是多行多列的...

    Android学习笔记(十一):Activity-ListView.doc

    【Android Activity-ListView详解】 在Android开发中,ListView是一个非常重要的组件,用于展示大量数据的列表形式。在本文中,我们将深入探讨...了解并熟练掌握ListView的使用,是每个Android开发者必备的技能之一。

    android简单的笔记本

    在Android平台上,开发一个简单的笔记本应用是一个常见的学习实践项目,它可以帮助用户进行基本的数据记录和管理。这个"android简单的笔记本"应用就包含了这样的功能,它实现了数据的增加、删除、查询和修改操作。...

    Android开发教程笔记完全版(第6-10篇)

    这些"Android开发教程笔记完全版(第6-10篇)"涵盖了从基础到进阶的UI编程知识,是学习Android UI设计的宝贵资料。以下是这些教程笔记中的关键知识点: 1. **布局(Layouts)**:布局是Android UI的基础,它决定了...

    Android的简单记事本实现

    在Android平台上,构建一个简单的记事本应用是一个常见的学习任务,它可以帮助开发者深入理解Android的基础组件和数据存储机制。在这个项目中,我们主要涉及到以下几个关键的技术点: 1. **ListView**:ListView是...

    AndroidStudio.zip

    以上是对"半成品Android Studio笔记"中涉及的主要知识点的详细介绍,涵盖了Android Studio的基本使用、UI组件、数据适配、资源管理、事件处理等多个方面,对于学习和提升Android开发技能具有很大的帮助。通过深入...

    android笔记

    在自定义`ListView`的适配器时,如果`list_cell`中包含`CheckBox`、`Button`、`ImageButton`等组件,为了确保`ListView`能够响应`OnItemClick()`事件,必须将这些组件的`android:focusable`属性设置为`false`,以...

    ListActivity笔记

    4. **自定义适配器**:为了实现更复杂的布局或数据展示,开发者可以创建自定义的适配器类,继承自`BaseAdapter`,并实现其中的方法。 5. **数据更新**:如果数据源发生变化,如增删数据,需要调用适配器的`...

    网格布局的GridView多选删除功能

    在默认情况下,GridView并不支持多选模式,但可以通过自定义适配器和监听器来实现这一功能。以下是一些关键知识点: 1. **多选模式**: - 首先,你需要为每个GridView项添加一个CheckBox,以便用户可以选择他们想...

    ActivityGroup + GridView + ViewFlipper 实现选项卡.zip

    2. `GridView`的配置:为`GridView`设置适配器,这个适配器通常是一个自定义的`BaseAdapter`,它负责填充选项卡的标题和对应的内容`ViewFlipper`。 3. 实现`GridView`的监听器:当用户点击选项卡时,触发`GridView....

Global site tag (gtag.js) - Google Analytics