Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Adapter類型控件之Adapter(數據適配器)

Adapter類型控件之Adapter(數據適配器)

編輯:關於Android編程

(一)概述

Adapter是作為連接數據跟View之間橋梁的,你可以創建一個View來使用Adapter來對數據直接進行填充;

(二)Adapter(適配器)的使用

先來看看他的類結構圖:

 

這裡寫圖片描述

 

 

這裡寫圖片描述

 

實際開發中經常用到的那幾個Adapter:

 

這裡寫圖片描述

用到,不過有點過時了,不推薦使用;

 

其實,實際開發過程中用的BaseAdapter是非常多的,其他不怎麼使用;實際開發過程中Adapter跟listview等Adapter類型控件是搭配的使用的,高級的使用會放到listview中去講解,本節只介紹Adapter的基礎知識和使用;

(三)ArrayAdapter使用案例:

運行結果:

 

這裡寫圖片描述

 

實現代碼:

public class MainActivity2 extends Activity {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        //創建數據源
        String[] string = {"胖哥" ,"達哥" ,"偉哥","彪哥"};
        //創建ArrayAdapter
        ArrayAdapter adapter = new ArrayAdapter(this ,
                android.R.layout.simple_expandable_list_item_1 ,string);
        //獲取ListView對象,通過調用setAdapter方法為Adapter設置Adapter數據適配器;
        ListView listView = (ListView) findViewById(R.id.listView2);
        listView.setAdapter(adapter);
    }
}

自定義資源文件也是可以實現的額:
這裡寫圖片描述
這裡寫圖片描述
緊接著在listview屬性中進行設置就可以了;
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
也是可以的額;
這裡寫圖片描述

List data = new ArrayList();
        data.add("二蝦");
        data.add("池頭");
        ArrayAdapter adapter2 = new ArrayAdapter(this ,
                android.R.layout.simple_expandable_list_item_1 ,data);

就可以了~~
這裡寫圖片描述

這裡寫圖片描述

(四)SimpleAdapter使用案例:
SimpleAdapter : 名叫簡單數據適配器,其實一點不簡單~~
運行結果:

這裡寫圖片描述

實現代碼:
list_items.xml




    
    
    

    

        

         

    

MainActivity3.java

public class MainActivity3 extends Activity {

    //創建數據源
    private String[] stringname = new String[]{"胖哥" ,"達哥" ,"偉哥","彪哥"};
    private String[] stringsays = new String[]{"你胖哥來啦!","看吾神鉤,first blood!" ,"碾碎他們","難以忘記初次見面"};
    private int[] imgIds = new int[]{R.drawable.pig ,R.drawable.tufu,R.drawable.dazi ,R.drawable.biaoge };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);

        List> list = new ArrayList>();
        for (int i = 0; i < stringname.length; i++) {
            Map showitemMap = new HashMap();
            showitemMap.put("imgs", imgIds[i]);
            showitemMap.put("name", stringname[i]);
            showitemMap.put("says", stringsays[i]);
            list.add(showitemMap);
        }

        //創建SimppableAdapter
        SimpleAdapter simpleAdapter = new SimpleAdapter(getApplicationContext(), list, R.layout.list_items,
                new String[]{"imgs" , "name" ,"says"}, new int[]{R.id.img1 ,R.id.name ,R.id.says});
        /**
        ArrayAdapter adapter = new ArrayAdapter(this ,
                android.R.layout.simple_expandable_list_item_1 ,stringname);
        **/
        //獲取ListView對象,通過調用setAdapter方法為Adapter設置Adapter數據適配器;
        ListView listView = (ListView) findViewById(R.id.listView3);
        listView.setAdapter(simpleAdapter);




    }
}

(五)SimpleCursorAdapter使用案例:
這裡寫圖片描述
運行結果:
這裡寫圖片描述
實現代碼:

list_item.xml




        

           


activity_main.xml只有一個ListView,就不貼了

java代碼:

public class MainActivity4 extends Activity {

    private static final Cursor cursor = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main4);


        //讀取聯系人
        Cursor cursor = getContentResolver()
                .query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);


    }

    //創建SimpleCursorAdapter
    @SuppressWarnings("deprecation")
    SimpleCursorAdapter spaCursorAdapter = new SimpleCursorAdapter(this, R.layout.list_items2, 
            cursor, 
            new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME ,ContactsContract.CommonDataKinds.Phone.NUMBER},
            new int[]{R.id.list_name ,R.id.list_pn});

    //獲取ListView對象,通過調用setAdapter方法為Adapter設置Adapter數據適配器
    ListView listView4=(ListView) findViewById(R.id.listView4);
    listView4.setAdapter(spaCursorAdapter);


}

這裡寫圖片描述

沒錯,就是這麼簡單~~~哇哈哈,<完>

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved