`
hzy3774
  • 浏览: 992906 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Android中ListView常用方式:使用BaseAdapter

 
阅读更多

ListView最基础用法:



 

给ListView设置一个Adapter

 

private class MyAdapter extends BaseAdapter

继承Basedapter

 

重写函数:

 

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

 getCount()用于返回List中有多少Item

 

getView()用于指定那个位置的布局如何:

 

package com.example.listadaptertest;

import java.util.ArrayList;

import com.example.listadaptertest.R.id;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends Activity {

	ListView mainListView = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		mainListView = (ListView) findViewById(id.main_list);
		mainListView.setAdapter(new MyAdapter());
	}

	// adapter
	private class MyAdapter extends BaseAdapter {
		ViewHolder holder;
		ArrayList<Item> data;

		public MyAdapter() {
			data = new ArrayList<MainActivity.Item>();
			for (int i = 0; i < 100; i++) {
				Item item = new Item(i);
				data.add(item);
			}
		}

		@Override
		public int getCount() {
			return data.size();
		}

		@Override
		public Object getItem(int arg0) {
			return data.get(arg0);
		}

		@Override
		public long getItemId(int arg0) {
			return arg0;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			if (convertView == null) {
				convertView = LayoutInflater.from(MainActivity.this).inflate(R.layout.list_item, null);
				holder = new ViewHolder();
				holder.tvTitle = (TextView) convertView.findViewById(id.textViewTitle);
				convertView.setTag(holder);
			} else {
				holder = (ViewHolder) convertView.getTag();
			}
			holder.tvTitle.setText("" + data.get(position).id);
			return convertView;
		}
	}

	// data item
	private class Item {
		private int id;

		public Item(int id) {
			this.id = id;
		}
	}

	// view item
	private class ViewHolder {
		TextView tvTitle;
	}
}

 

 

笔记完.

  • 大小: 212.9 KB
分享到:
评论

相关推荐

    BaseAdapter的使用与优化

    在Android开发中,ListView是展示大量数据常用的组件,而BaseAdapter是它的重要伙伴,用于将数据绑定到ListView的各个Item视图上。本教程通过一个Eclipse下的Android工程实例,详细讲解了BaseAdapter的使用方法以及...

    android SQlite、listView中加按钮的使用

    ListView是Android中常用的视图控件,它能够展示大量的数据列表。在ListView中添加按钮,可以增强交互性,实现更多功能。这通常涉及到自定义Adapter和ViewHolder模式,以提高性能和避免视图复用时的错位问题。 1. ...

    【android】ListView之BaseAdapter使用详解

    android中ListView是一个比较常用的控件,它用于方便的列表显示可见数据,当数据过多时,会出现滚动条,并且可以根据屏幕长度进行自适应显示。 1. 为什么使用BaseAdapter? ListView需要设置数据适配,就是添加你...

    android的listview嵌套listview,列表嵌套列表 android studio版本

    在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。当需求涉及列表中的每个条目本身也需要展示一个子列表时,我们就会遇到ListView的嵌套问题。本教程将详细讲解如何在Android Studio环境下...

    使用BaseAdapter完成listview中带图片item

    在Android开发中,ListView是一种常用的控件,用于展示大量数据列表。它允许用户滚动查看多个行,每行(称为Item)通常包含不同的视图元素,如文本和图片。本示例将详细介绍如何使用BaseAdapter来实现一个ListView,...

    用BaseAdapter实现的ListView

    在Android开发中,ListView是一种常用的UI组件,用于展示大量数据列表。它允许用户滚动查看多个行项目,并且可以通过适配器(Adapter)机制与数据源进行绑定,将数据转化为可视化的视图。在这个场景中,我们关注的是...

    android中ListView嵌套GridView的使用

    在Android开发中,ListView和GridView是两种常用的布局控件,它们各自有其特定的应用场景。ListView主要用于展示大量的可滚动数据,而GridView则呈现一个固定的网格布局。然而,在某些情况下,我们可能需要在一个...

    Android中ListView表头表尾

    本教程将详细讲解如何在Android中使用ListView,特别是添加表头(headView)和表尾(bootView)。 首先,我们需要了解ListView的基本结构。ListView是一个视图容器,它可以动态加载并显示大量的子视图(View)。...

    Android ListView边框圆角美化

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了提升用户体验和界面设计的美观性,我们常常需要对ListView进行定制化,包括设置边框和实现圆角效果。本文将深入探讨如何在Android中实现...

    android listview常用适配器

    本篇文章将深入探讨Android中的BaseAdapter,它是ListView适配器的基础实现,适用于自定义复杂的列表视图。 一、BaseAdapter简介 BaseAdapter是Android提供的一个抽象类,它是所有ListView适配器的基础。开发者可以...

    Android中ListView的用法

    本教程将深入讲解如何在Android应用中使用ListView,以及如何结合不同的数据适配器,如ArrayAdapter和SimpleAdapter,来实现数据绑定。 1. **ListView的基本结构** ListView由多个列表项(ListView Item)组成,每...

    Android中ListView+Adapter

    在Android应用开发中,ListView是显示大量数据列表的常用组件,尤其在构建用户界面时扮演着重要角色。本文将深入探讨如何在Eclipse开发环境中利用ListView结合Adapter来展示数据。 首先,`ListView`是一个可滚动的...

    实现ListView过滤功能,继承于BaseAdapter,非ArrayAdapter。

    在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表。在某些场景下,我们可能需要为ListView添加过滤功能,以便用户可以根据输入的关键字实时筛选显示的数据。在本教程中,我们将探讨如何实现一个...

    C# xamarin android listview简单使用

    本教程将深入探讨如何在C#中使用Xamarin.Android来实现ListView的基本操作,旨在帮助开发者快速掌握这一核心功能。 首先,我们需要理解ListView的基本结构。ListView通常与一个Adapter配合工作,Adapter是数据源和...

    android中listview多选demo

    在ListView的每个列表项中使用CheckedTextView,可以方便地实现单个条目的选择状态。 2. **Adapter**:ListView的数据源通常通过Adapter来提供,例如ArrayAdapter或BaseAdapter。在适配器中,我们需要维护一个选中...

    Android listview嵌套listview

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。然而,有时我们可能需要在一个ListView的项中再嵌套另一个ListView,这被称为ListView的嵌套。这样的设计可以用于展示复杂的数据结构,比如...

    BaseAdapter_listview

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。`BaseAdapter`是Android SDK提供的一种适配器,它是所有自定义ListView适配器的基础类,用于将数据绑定到ListView上。本示例"BaseAdapter_...

    android studio实现listview的增加,左滑删除

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。在本文中,我们将深入探讨如何在Android Studio中实现ListView的动态增加以及左滑删除功能,这将帮助你构建更加用户友好的应用程序。 首先...

    Android应用源码 ListView下拉刷新 Demo

    在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表。ListView下拉刷新功能是现代移动应用中的一个常见特性,允许用户通过下拉列表来获取最新的数据,如社交媒体的新消息或天气更新。这个"Android...

Global site tag (gtag.js) - Google Analytics