編輯:關於Android編程
Adapter是指適配器的意思,在Android中,適配器扮演者重要的角色,是UI與Data實現綁定的一個橋梁。Adapter負責創建和顯示每個項目的子View和提供對下層數據的訪問。支持Adapter綁定的UI控件必須擴展AdapterView抽象類。默認情況下,Android為我們提供了下面幾種常見的數據適配器:
1、ArrayAdapter
2、BaseAdapter。這是一個共同的基類的公共實現適配器,可以在同時使用的ListView(通過實現專業化 ListAdapter接口)和微調(通過實現專業化SpinnerAdapter接口)。總之,通過繼承BaseAdapter,你可以自由定制自己的數據適配。
3、SimpleAdapter。這是一個用來綁定Map類型數據的數據適配器。
4、ListAdapter。ListAdapter是一個之間的橋梁的ListView和數據備份的列表。頻繁的數據來自一個游標,但不是必需的。ListView中可以顯示,只要是包裹在一個ListAdapter任何數據。
5、CursorAdapter。CursorAdapter是用來訪問Cursor的數據適配器,要求Cursor必須包含一個名為“_id”的字段,否則這個類將無法正常工作。
6、SimpleCursorAdapter。用於將光標和在一個XML文件中定義TextViews或ImageViews實現綁定。常常用於數據庫的數據綁定。
寫這篇文章的原因是是在學習安卓的過程中,碰到了一個很詭異的問題。在郭宏志的《Android應用開發詳解》一書中,有一段代碼用於在用戶提交完數據以後跳轉到一個新的頁面(Activity)來顯示全部的提交數據,這段代碼是這樣寫的:
super.onCreate(savedInstanceState); DBHelper=new DataBaseHelper(this); Cursor c=DBHelper.Query(); String[] From=new String[]{DBHelper.KEYNAME,DBHelper.KEYAGE,DBHelper.KEYSEX}; int[] To=new int[]{R.id.Layout_Name,R.id.Layout_Age,R.id.Layout_Sex}; SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.layout_list, c, From, To); lv=getListView(); lv.setAdapter(adapter);但是在我實際調試的時候,每次運行到這裡都會報錯,一直不知道是什麼原因,今天偶然發現原來還有個ListAdapter類,一查原來是一個接口,而且ArrayAdapter、SimpleAdapter竟然都是這個接口的實現類。直覺告訴我,應該把前面的SimpleCursorAdapter改成ListAdapter,結果程序順利運行了。以前用這兩個類的時候,都是直接用它的實現類的,都沒什麼問題啊,為什麼這裡就不行了呢,而且更杯具的是源代碼中編譯出來的程序文件我裝手機上順利運行啊,唯一不同的是API版本不同而已啊。這讓我很郁悶,索性看了Android的API文檔,查到了上面那些內容,除非SimpleCursorAdapter和ListAdapter一點關系都沒有,否則我真的不知道是什麼原因了。唉,Java中的類怎麼這麼多啊,一點都不系統啊,記起來好麻煩,不想.NET中的類,你總知道它在什麼地方,是什麼用途。
本例主要實現在APP中解析GML數據並顯示GML,地理標記語言(外語全稱:Geography MarkupLanguage、外語縮寫:GML),它由開放式地理信息系統協會
Android UI-實現底部切換標簽(fragment) 前言 本篇博客要分享的一個UI效果——實現底部切換標簽,想必大家在一些應
Android虛擬鍵盤的彈起會遮擋住部分ui,雖然通過在清單文件中設置,可以隨著虛擬鍵盤的彈出,布局往上推,但是面對登陸界面時,並沒有太大的作用,這樣就會導致用戶體驗不好
如果你是在校大學生,或許你用多了各種課程表,比如課程格子,超級課程表。它們都有一個共同點就是可以一鍵導入教務處的課程。那麼一直都是用戶的我們,沒有考慮過它是