●·● 目錄:
A1 ………… ListView 類
ListAdapter 介面
ArrayAdapter 類
舉例一
SimpleAdapter 類
List 介面
ArrayList 類
Map 介面
HashMap 類
舉例二
SimpleCursorAdapter 類
A2 ………… ExpandableListView 類
SimpleExpandableListAdapter 類
舉例三
舉例四
A3 ………… ArrayAdapter 類在下面不同控制項中的使用
AutoCompleteTextView
ListView
Spinner
---------------------------------------------------------------------------------------------------------
╔════════╗
╠════╣ 第A1個 ╠══════════════════════════════════════════════════╣
╚════════╝
●·● ListView 類:
1. A view that shows items in a vertically scrolling list.
2. ListView Constructors:
- ListView(Context context):
- android:id="@+id/android:list" ListActivity中使用.
3. ListView XML Attributes:
- android:drawSelectorOnTop:選中的時候是否覆蓋選中項, 一般選擇 false.
- android:scrollbars:捲軸顯示方式.
4. ListView Methods:
- setAdapter(ListAdapter adapter):將資料加到 ListView 內部.
- isItemChecked(int position):是否選中.
- setChoiceMode(int choiceMode):
CHOICE_MODE_NONE:無.
CHOICE_MODE_SINGLE:單選.
CHOICE_MODE_MULTIPLE:複選.
- getItemAtPosition(int position):傳回值:Object.
- getItemIdAtPosition(int position):傳回值:long.
- getFirstVisiblePosition():傳回值:int.
- getLastVisiblePosition():傳回值:int.
- setOnClickListener(View.OnClickListener l):
- setOnItemClickListener(AdapterView.OnItemClickListener listener):
- setOnItemLongClickListener(AdapterView.OnItemLongClickListener listener):
- setOnItemSelectedListener(AdapterView.OnItemSelectedListener listener):
- setSelection(int position):
通過 ListActivity 中的 onListItemClick 方法可以重寫 list item 被點擊時的事件.
●·● ListAdapter 介面:Extended Adapter that is the bridge between a ListView and the data that backs the list.
來源:android.widget.ListAdapter
●·● ArrayAdapter 類:A concrete BaseAdapter that is backed by an array of arbitrary objects.
來源:android.widget.ArrayAdapter
1> 建構函式:
- ArrayAdapter(Context context, int textViewResourceId, List<T> objects):
android.R.layout.simple_expandable_list_item_1:系統內建的列表樣式.
- ArrayAdapter(Context context, int resource, int textViewResourceId, List<T> objects):
2> Methods:
- setDropDownViewResource(int res):設定下拉式清單中每一項的樣式.
android.R.layout.simple_spinner_item:很普通的狹窄列表.
android.R.layout.simple_spinner_dropdown_item:寬的有選項按鈕的列表(2.2).
- createFromResource(Context context, int textArrayResId, int textViewResId):傳回值:ArrayAdapter<CharSequence>.
在 strings.xml 中定義字串數組, 實現下拉式功能表功能.
第二個參數引用相應的數組.
第三個參數引用 spinner 顯示的樣式. <<<舉例>>>
<< 舉例一 >>
效果:
第一步:布局檔案,內容就是兩個按鈕,第一個按鈕實現顯示 ListView.
第二步:在主 Activity 的第一個按鈕中只需寫入切換到另一個 Activity 的代碼即可.
第三步:寫這個"另一個 Activity".
public class lv extends Activity{ private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); listView = new ListView(this); //建立 ListView 執行個體 listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,getData())); //添加資料, 第二個是系統內建的 setContentView(listView); //將此 listView 加入到當前 Activity 中 } private List<String> getData(){ //資料來源 List<String> data = new ArrayList<String>(); for(int i = 1;i<=20;i++) data.add("Hello----Hello---- " + i); return data; }}
●·● SimpleAdapter 類:An easy adapter to map static data to views defined in an XML file.
來源:android.widget.SimpleAdapter
1> 建構函式:
- SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to):
第一個參數:context.
第二個參數:資料內容. private List<Map<String, Object>> getData(){}
第三個參數:布局檔案. 每一項顯示的內容.
第四個參數:從第二個參數的 Map 的鍵擷取. 通過鍵來擷取值.
第五個參數:與第四個參數相對應的控制項 id, 會將第四個參數的內容顯示在第五個參數所對應的控制項上.
●·● List 介面:A List is a collection which maintains an ordering for its elements.
●·● ArrayList 類:ArrayList is an implementation of List, backed by an array.
- add(E object):將指定的 object 加入到 ArrayList 中.
- add(int index, E object):將指定的 object 加入到 ArrayList 的指定索引處.
- clear():清除對象中的所有元素.
- get(int index):擷取列表中指定位置的元素.
- remove(Object object):刪除列表中指定的 object.
- remove(int index):刪除列表中指定索引的 object.
- size():返回對象中的元素的個數.