ArrayAdapter_SimpleAdapter_CursorAdapter的区别

数据源不同而已
1. String[]: ArrayAdapter
2. List<Map<String,?>>: SimpleAdapter
3. 数据库Cursor: SimpleCursorAdapter

使用ArrayAdapter(数组适配器)顾名思义,需要把数据放入一个数组以便显示。
android.R.layout.simple_list_item_1是系统定义好的布局文件只显示一行文字

SimpleAdapter能定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)

//=============================SimpleAdapter==========================

public class List3 extends ListActivity {  
      
    List<Map<String, Object>> list;  
   
    @Override 
    public void onCreate(Bundle savedInstanceState) {  
       super.onCreate(savedInstanceState);  
         
       list = getListForSimpleAdapter(); //list为数据集合
   
       SimpleAdapter     adapter = new SimpleAdapter(this, list,  
R.layout.item,  
       new String[] { "BigText", "LittleText", "img" },   
new int[] { R.id.BigText,R.id.LittleText, R.id.img });

//可以想成把一个放好数据的布局文件放入本界面中  
       setListAdapter(adapter);      
   
    }

private List<Map<String, Object>> getListForSimpleAdapter() {  
    List<Map<String,Object>> list=newArrayList<Map<String,        Object>>(3);  
           Map<String, Object> map = new HashMap<String, Object>();  
           map.put("BigText", "Android");  
           map.put("LittleText", "Google phone.");  
           map.put("img", R.drawable.n);  
           list.add(map);  
   
           map = new HashMap<String, Object>();  
           map.put("BigText", "Lenovo");  
           map.put("LittleText", "Ophone");  
           map.put("img", R.drawable.o);  
           list.add(map);  
   
           map = new HashMap<String, Object>();  
           map.put("BigText", "Droid");  
           map.put("LittleText", "Motorola");  
           map.put("img", R.drawable.droid);  
           list.add(map);

return list;  
    }  
}

//==============================SimpleCursorAdapter===================

注意:SimpleCursorAdapter是和数据库有关的东西,而sqlite数据库所要求的 自动增长的 id  必须是 _id这中形式

public class List2 extends Activity {  
      
    private ListView listView;  
    @Override 
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
   
        listView=new ListView(this);  
       Cursorc=getContentResolver().query(People.CONTENT_URI,  
       null, null, null, null);        
        startManagingCursor(c);

ListAdapter adapter = new SimpleCursorAdapter(this,   
                 android.R.layout.simple_list_item_1,  
                 c,   
                 new String[] {People.NAME} ,  
                 new int[] {android.R.id.text1});   
        listView.setAdapter(adapter);  
setContentView(listView);  
}  
}

//====================ArrayAdapter===================================

public class List1 extends  Activity {  
   
    private ListVeiw listView;  
    @Override 
    public void onCreate(Bundle savedInstanceState) {  
   super.onCreate(savedInstanceState);  
   
       listView=new ListVeiw(this);  
       listView.setAdapter(new ArrayAdapter<String>(this,  
           android.R.layout.simple_list_item_1, mStrings));  
      setContentVieww(listView);  
        }

private String[] mStrings = {  
           "Abbaye de Belloc", "Abbaye du Mont des Cats",      
           "Acorn", "Adelost", "Affidelice au Chablis",   
           "Aisy Cendre", "Allgauer Emmentaler", "Alverca",   
           "Ami du Chambertin", "Anejo Enchilado", "Anneau   
           "Aragon", "Ardi Gasna", "Ardrahan", "Armenian   
           "Asadero", "Asiago", "Aubisque Pyrenees", "Autun",   
            "Babybel", "Baguette Laonnaise", "Bakers", "Bal"};  
}

android各种适配器的用法(转)的更多相关文章

  1. 【转】Android各种Adapter的用法

    转自:http://my.oschina.net/u/658933/blog/372151 Android各种Adapter的用法 发表于5个月前(2015-01-27 10:56)   阅读(143 ...

  2. ArrayAdapter适配器的用法,模拟QQ发消息界面。

    import java.util.ArrayList; import android.app.Activity; import android.content.Context; import andr ...

  3. android的logcat详细用法

    Android日志系统提供了记录和查看系统调试信息的功能.日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过 logcat 命 令来查看和使用. 使用logcat命令 你可以用 logc ...

  4. 怎么通过activity里面的一个按钮跳转到另一个fragment(android FragmentTransaction.replace的用法介绍)

    即:android FragmentTransaction.replace的用法介绍 Fragment的生命周期和它的宿主Activity密切相关,几乎和宿主Activity的生命周期一致,他们之间最 ...

  5. Android开发中Bundle用法包裹数据(转)

    Android开发中Bundle用法包裹数据 Bundle的经典用法,包裹数据放入Intent中,目的在于传输数据. SDK 里是这样描述: A mapping from String values ...

  6. Android进阶笔记10:Android 万能适配器

    1. Android 万能适配器      项目中Listview GridView几乎是必用的组件,Android也提供一套机制,为这些控件绑定数据,那就是Adapter.用起来虽然还不错,但每次都 ...

  7. android application类的用法

    android application类的用法 Application是android系统Framework提供的一个组件,它是单例模式(singleton),即每个应用只有一个实例,用来存储系统的一 ...

  8. android 中uri.parse()用法

    android 中uri.parse()用法 1,调web浏览器 Uri myBlogUri = Uri.parse("http://xxxxx.com"); returnIt = ...

  9. Android webView 正确的用法

    Android webView 正确的用法 引言: 我在网络找了几个例子,基本上都有问题,<Android疯狂讲义>13.4中的源代码也有问题.终于在官网找到正确的用法.点我. 基本用法: ...

随机推荐

  1. WCF入门(五)---创建WCF服务

    使用Microsoft Visual Studio2012创建WCF服务,理解如下所有必要的编码,更好地创建WCF服务的概念,这里做一个简单的任务. 启动Visual Studio 2012. 单击新 ...

  2. 加密解密(11)HMAC-在sha1,md5基础上加密

    HMAC: Hash-based Message Authentication Code http://baike.sogou.com/v10977193.htm http://www.baike.c ...

  3. mysql 查看警告

    显示警告(打开): warnings 查看警告(查看内容): show warnings; 记录运行日志: tee  _logsfile source sql_filenotee

  4. Building Xcode iOS projects and creating *.ipa file from the command line

    For our development process of iOS applications, we are using Jenkins set up on the Mac Mini Server, ...

  5. bzoj2795

    循环节的经典性质 n是[l,r]这一段的循环节的充要条件是[l,r-n]和[l+n,r]相同 且n是长度的约数 然后不难想到根号的穷举约数的做法 有没有更好的做法,我们知道如果n是一个循环节,那么k* ...

  6. 文件大小转换成可显示的Mb,Gb和kb方法

    public static String unitConversion(float resource) { String[] unit = new String[] { "B", ...

  7. UVa 11181 (条件概率) Probability|Given

    题意: 有n个人买东西,第i个人买东西的概率为Pi.已知最终有r个人买了东西,求每个人买东西的概率. 分析: 设事件E为r个人买了东西,事件Ei为第i个人买了东西.所求为P(Ei|E) = P(EiE ...

  8. ZOJ 2587 Unique Attack (最小割唯一性)

    题意 判断一个无向图的割是否唯一 思路 错误思路:一开始想的是判断割边是否都是关键割边,那既然割边两端点能连通S.T点的边是关键边,那么只要遇到有某个边两端点不连通S or T则这条边就不是关键割边( ...

  9. dos文件批量转换成unix文件

    对于经常在windows环境下和linux环境同时使用的文件(如在windows系统下编写,在linux环境下编译的文件), 常常存在这样的问题:由于两种系统的格式文件格式不同,导致程序出现不期望的问 ...

  10. 【WEB】jsp向servlet传参中文乱码问题解决

    传参方式:POST.GET.link方式 servlet向jsp传中文参数msg if(username.equals("") || password.euqals("& ...