[Android]ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 区别

原创 2015年07月08日 11:30:09
数据源不同而已 
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"};   
}  

SQLite数据查询结果显示在ListView(SimpleAdapter与SimpleCursorAdapter)

SimpleAdapter与SimpleCursorAdapter不同在于数据源,SimpleAdapter数据源为List,SimpleCursorAdapter数据源为数据库查询结果游标Curso...
  • li641808825
  • li641808825
  • 2015年09月15日 15:37
  • 1023

使用详解及源码解析Android中的Adapter、BaseAdapter、ArrayAdapter、SimpleAdapter和SimpleCursorAdapter

Adapter相当于一个数据源,可以给AdapterView提供数据,并根据数据创建对应的UI,可以通过调用AdapterView的setAdapter方法使得AdapterView将Adapter作...
  • sunqunsunqun
  • sunqunsunqun
  • 2016年03月06日 00:22
  • 12639

ListView(2)SimpleAdapter与SimpleCursorAdapter详解

SimpleAdapter官方定义: An easy adapter to map static data to views defined in an XML file. 一个简单的适配...
  • yhaolpz
  • yhaolpz
  • 2016年06月11日 19:14
  • 5194

ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 区别

数据源不同而已  1. String[]: ArrayAdapter  2. List>: SimpleAdapter  3. 数据库Cursor: SimpleCursorAdapter  使用Ar...
  • zhangvalue
  • zhangvalue
  • 2015年11月06日 11:01
  • 418

ArrayAdapter SimpleAdapter SimpleCursorAdapter 区别

ArrayAdapter SimpleAdapter SimpleCursorAdapter 区别 数据源不同而已  1. String[]: ArrayAdapter  2. List>: S...
  • chang_xing
  • chang_xing
  • 2012年07月20日 18:33
  • 2012

Android之旅第四站——适配ArrayAdapter,simpleadapter和自定义adapter的区别…

1.ArrayAdapter只可以简单的显示一行文本adapter=new ArrayAdapter(this, R.layout.item_main_lv, R.id.item_main_lv_na...
  • Li_peilun
  • Li_peilun
  • 2017年02月03日 15:32
  • 562

ListView和ArrayAdapter、SimpleAdapter适配器的简单使用

在Android开发中,ListView是一个非常常用的控件,当然,现在已经有RecycleView来替代它了,但ListView还是有不少人在使用的。用到ListView,就一定会用到适配器。那什么...
  • u014727709
  • u014727709
  • 2016年12月28日 16:10
  • 1883

Android Adapter接口及实现类之ArrayAdapter、SimpleAdapter和BaseAdapter的简单介绍及运用

1、ArrayAdapter         简单、易用的 Adapter ,通常用于将数组或 List 集合的多个值包装成多个列表项。只能显示一个 TextView。 public class Ma...
  • liuwan1992
  • liuwan1992
  • 2016年10月16日 13:07
  • 4052

ArrayAdapter ,SimpleAdapter与SimpleCursorAdapter 区别

很多初学者肯定会对适配器感到困惑,其实他们就是数据源不同而已 。 1. String[]: ArrayAdapter  2. List>: SimpleAdapter  3. 数据库Cursor...
  • ljb3119
  • ljb3119
  • 2016年03月07日 23:30
  • 201

Android新手入门2016(9)--ListView之SimpleAdapter和SimpleCursorAdapter

ListView这几个Adapter究竟有什么不同,查了一下,其实主要是数据源不同,导致了不同的用法 ArrayAdapter 来源于字符串数组 SimpleAdapter 来源是List>格式的数据...
  • u012175089
  • u012175089
  • 2016年03月17日 19:13
  • 2779
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Android]ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 区别
举报原因:
原因补充:

(最多只允许输入30个字)