下面是基于List这个存储结构的Adapter
package com.example.fouradpater_3; import java.util.ArrayList; import java.util.List; import android.R.integer; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.widget.Adapter; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.GridView; import android.widget.ImageView; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.Spinner; import android.widget.SpinnerAdapter; import android.widget.TextView; public class MainActivity extends Activity { private LayoutInflater mInflater; private String[] mad = {"4","3","2","1"}; private List<String> mList; private Spinner mSpinner; private GridView mGridView; private Gallery mGallery; private ListView mListView; private Adapter mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mList = new ArrayList<String>(); for(int i = 0; i<mad.length; i++){ mList.add(mad[i]); } mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); // mInflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); // mInflater = (LayoutInflater)MainActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); mSpinner = (Spinner) findViewById(R.id.spinner1); mGridView = (GridView) findViewById(R.id.gridView1); mGallery = (Gallery) findViewById(R.id.gallery1); mListView = (ListView) findViewById(R.id.listView1); mAdapter = new BaseAdapter() { @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stu TextView text; ImageView imgview; RelativeLayout rLayout; if (convertView == null) { rLayout = (RelativeLayout) mInflater.inflate(R.layout.new_file, parent, false); // view = new TextView(MainActivity.this); } else { rLayout = (RelativeLayout) convertView; } String item = (String) getItem(position); // rLayout.setTag(item.toString()); text = (TextView) rLayout.findViewById(R.id.TextView2); // text.setText(item.toString()); 画蛇添足 text.setText(item); imgview = (ImageView) rLayout.findViewById(R.id.ImageView1); // imgview.setId(R.drawable.ic_launcher);// 用错函数 imgview.setImageResource(R.drawable.ic_launcher); return rLayout; } @Override public long getItemId(int position) { return position; } @Override public Object getItem(int position) { return mList.get(position); } @Override public int getCount() { return mList.size(); } }; mSpinner.setAdapter((SpinnerAdapter) mAdapter); mGridView.setAdapter((ListAdapter) mAdapter); mGallery.setAdapter((SpinnerAdapter) mAdapter); mListView.setAdapter((ListAdapter) mAdapter); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
可以看出来只要我们需要的储存方式 跟adpter需要的4个基本函数有对应就行,储存结构的改变最需要改变
getItem() getCount() 这两个函数
相关推荐
学习和理解BaseAdapter对于Android开发至关重要,因为它是你与用户界面交互的主要方式之一。通过熟练掌握BaseAdapter,你可以创建出丰富多样的可滚动列表,提高用户体验。此外,BaseAdapter还为更复杂的适配器,如...
在Android开发中,BaseAdapter是一个基础的适配器类,用于将数据与UI组件(如ListView、GridView等)进行绑定。这个"android baseAdapter的简单封装demo"旨在提供一种方式来减少开发过程中对BaseAdapter的重复编码,...
9. **使用FastAdapter或RecyclerView**:虽然题目主要讨论BaseAdapter,但现代Android开发更推荐使用RecyclerView,它提供了更强大的功能和性能优化,如ItemAnimator、ItemDecoration等。 总之,ListView和...
在Android开发中,ListView是展示大量数据常用的组件,而BaseAdapter是它的重要伙伴,用于将数据绑定到ListView的各个Item视图上。本教程通过一个Eclipse下的Android工程实例,详细讲解了BaseAdapter的使用方法以及...
**二、BaseAdapter的核心方法** 1. `int getCount()`: 返回数据集的大小,用于确定列表中的条目数量。 2. `Object getItem(int position)`: 根据位置返回数据集中的特定项。这个方法返回的数据对象通常是你需要显示...
在Android开发中,`BaseAdapter`是一个非常关键的组件,它是连接数据源和视图(如ListView、GridView等)的桥梁。本篇文章将详细介绍`BaseAdapter`的使用方法,并通过具体的代码示例来帮助理解其工作原理。 首先,`...
Android-扩展BaseAdapter实现progressBar下载 * 该Demo涉及了BaseAdapter,ProgressBar,Handler,Thread,线程池; * * Android-扩展BaseAdapter实现progressBar下载 * 1.创建listview的xml * 2.创建listview中...
首先,`BaseAdapter`是Android SDK提供的一种适配器,它是一个抽象类,为各种视图(如ListView)提供了数据绑定的功能。开发者需要继承BaseAdapter,并实现其四个主要方法:`getCount()`、`getItem(int position)`、...
在这个"Android之ListView+BaseAdapter左右按键切换"的项目中,我们将会深入探讨如何利用ListView结合BaseAdapter实现通过键盘左右按键来切换并更新ListView中的数据。BaseAdapter是Android系统提供的一种适配器,它...
在Android开发中,`BaseAdapter`是一个非常关键的组件,它允许我们自定义ListView、GridView等控件的数据展示方式。本教程将深入探讨如何在`BaseAdapter`中使用`Context`,并通过一个名为`AdapterTest2`的示例来阐述...
在Android开发中,BaseAdapter是一个核心组件,它用于在ListView、GridView等可滚动视图中显示数据。这个组件是适配器模式的具体实现,能够将数据集与UI控件进行绑定,使得数据能够以列表的形式展示给用户。下面我们...
在Android开发中,ListView、SQLite和BaseAdapter是三个经常一起使用的组件,它们共同实现数据展示与数据持久化的功能。 1. ListView组件 ListView是一个视图组件,它能够在垂直滚动的方向上显示一系列的数据项。每...
总之,`BaseAdapter`是Android开发中的核心组件之一,掌握其自定义方法对于提升应用的用户体验至关重要。通过合理设计数据模型和视图布局,我们可以创建出功能强大且灵活的列表视图。在实际项目中,还可以结合`...
本文实例讲述了Android中BaseAdapter用法。分享给大家供大家参考,具体如下: 概述: BaseAdapter就Android应用程序中经常用到的基础数据适配器,它的主要用途是将一组数据传到像ListView、Spinner、Gallery及...
在Android开发中,BaseAdapter是一个基础且至关重要的组件,它为ListView、GridView等视图提供数据绑定的功能。本文将深入探讨BaseAdapter的使用方法以及如何对其进行优化,让你在使用Android Studio开发时能写出...
在Android开发中,BaseAdapter是一个非常重要的类,它充当了数据模型与视图组件(如Spinner、ListView、GridView等)之间的桥梁。这篇博客将深入探讨如何利用BaseAdapter在各种控件中实现数据绑定和交互。 首先,...
BaseAdapter是Android开发中一个非常重要的组件,它是适配器模式在Android系统中的具体实现,主要用于将数据源(如ArrayList)与UI组件(如ListView、GridView)进行绑定,使得数据能够呈现在用户界面上。...
BaseAdapter是Android开发中一个非常重要的适配器类,它为ListView、GridView等视图控件提供了自定义数据源的支持。在本测试中,我们主要关注`getView()`方法,它是BaseAdapter的核心,负责将数据转化为可显示的View...
总的来说,BaseAdapter是Android开发中不可或缺的一部分,它允许我们灵活地展示各种类型的数据,并且通过ViewHolder模式提高了性能。理解和掌握BaseAdapter的用法对于进行高效的UI开发至关重要。