[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"};   
}  

相关文章推荐

ArrayAdapter ,SimpleAdapter与SimpleCursorAdapter 区别

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

ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 区别

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

[Android] Adapter:SimpleAdapter SimpleCursorAdapter ArrayAdapter 与ListView的用法

AdapterView: ListView GridView Gallery Spinner Adapter: SimpleAdapter SimpleCursorAdapter ArrayAdap...

Android之ListView使用方法-ArrayAdapter-SimpleCursorAdapter-SimpleAdapter-BaseAdapter

在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了个小例子,如下图。  列表的显...
  • lqhed
  • lqhed
  • 2016年05月20日 19:53
  • 190

Android-Adapter实现方法(ArrayAdapter,SimpleAdapter,SimpleCursorAdapter)

Adapter总结Adapter常用的实现类包括ArrayAdapter、SimpleAdapter、SimpleCursorAdapter、BaseAdapter。Adapter可以实现数据先加载再...

BaseAdapter ArrayAdapter SimpleCursorAdapter SimpleAdapter BaseExpandableListAdapter

BaseAdapter自定义适配器  public View getView(int position, View convertView, ViewGroup parent);内部类ViewHold...

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

1.ArrayAdapter只可以简单的显示一行文本adapter=new ArrayAdapter(this, R.layout.item_main_lv, R.id.item_main_lv_na...

android ListView使用的三种方法汇总(通过继承BaseAdapter,使用SimpleAdapter和SimpleCursorAdapter)

android中使用ListView显示列表,共有三种实现方式: 分别是通过继承baseAdapter,直接使用simpleAdapter和simplecursoradapter三种方式 ...

Android之ListView使用方法-SimpleAdapter-SimpleCursorAdapter

要将数据库中的数据列表显示在屏幕上,我们要使用ListView这个控件,当用户从数据库中取出数据时,要将数据绑定到显示控件上,如何绑定呢,我们需要创建适配器进行绑定,创建适配器有两种方式: 第一种是...
  • lqhed
  • lqhed
  • 2016年05月20日 19:50
  • 276
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Android]ArrayAdapter ,SimpleAdapter ,SimpleCursorAdapter 区别
举报原因:
原因补充:

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