zoukankan      html  css  js  c++  java
  • android各种适配器的用法(转)

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

  • 相关阅读:
    C# post请求 HttpWebRequest
    C# 获取当前路径
    计算n的阶乘
    查找2-n之间素数的个数
    循环嵌套-打印不定长特殊*号图形
    流程控制-物流费用计算(嵌套if)
    基于Arduino的按键控制LED实验
    基于Arduino的红外遥控
    PS/2的相关知识
    Arduino_URO端口与AtMega328p引脚对应图
  • 原文地址:https://www.cnblogs.com/wjjair/p/3365164.html
Copyright © 2011-2022 走看看