Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android常見控件之SimpleAdapter和List

Android常見控件之SimpleAdapter和List

編輯:Android開發教程

一、SimpleAdapter

SimpleAdapter是一個簡單的適配器,可以將靜態數據映射到XML文件中定義 好的視圖。你可以指定數據支持的列表如ArrayList組成的Map。在ArrayList中 的每個條目對應List中的一行。Maps包含每行數據。你可以指定一個定義了被用 於顯示行的視圖XML文件,通過關鍵字映射到指定的視圖。

構造函數

public SimpleAdapter (Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)

參數

context 關聯SimpleAdapter運行著的視圖的上下文。

data 一個Map的列表。在列表中的每個條目對應列表中的一行,應該包含所 有在from中指定的條目

resource 一個定義列表項目的視圖布局的資源唯一標識。布局文件將至少應 包含哪些在to中定義了的名稱。

from 一個將被添加到Map上關聯每一個項目的列名稱的列表

to 應該在參數from顯示列的視圖。這些應該全是TextView。在列表中最初的 N視圖是從參數from中最初的N列獲取的值。

一個SimlpleAdapter是這樣工作的。假設將SimpleAdapter用於ListView。那 麼ListView的每一個列表項就是 resource參數值指定的布局。而data參數就是 要加載到ListView中的數據。我們先看每一個列表項,假設列表項所對應的布局 文件中包含了兩個組件:TextView和EditText,id分別為textview和edittext。 那麼在加載列表項時,需要通過組件的id和data參數中 List元素中的Map對象對 應。因此,from參數Map對象的key,而to表示組件的id,例如,本例中的參數值 為from = new String[]{"userId", "userName"},to = new int[]{R.id.userId,R.id.userName}。意思就是將Map對象中key為userId 的value綁定到 R.id.userId上,userName也類似。現在來看data參數,一個 ListView由多個列表項組成。每一個列表項由一個Map對象提供數據,而多個列 表項則由List對象提供多個 Map對象。

二、ListView

在android開發中ListView是比較常用的組件,它以列表的形式展示具體內容 ,並且能夠根據數據的長度自適應顯示。

列表的顯示需要三個元素:

1.ListVeiw 用來展示列表的View。

2.適配器 用來把數據映射到ListView上的中介。

3.數據 具體的將被映射的字符串,圖片,或者基本組件。

根據列表的適配器類型,列表分為三種,ArrayAdapter,SimpleAdapter和 SimpleCursorAdapter。其中以ArrayAdapter最為簡單,只能展示一行字。 SimpleAdapter有最好的擴充性,可以自定義出各種效果。SimpleCursorAdapter 可以認為是SimpleAdapter對數據庫的簡單結合,可以方面的把數據庫的內容以 列表的形式展示出來。SimpleAdapter繼承自AdapterView。我們可以通過 setOnItemClickListener()方法給ListView添加監聽器,當用戶點擊某一個列表 項中執行相應的操作。在監聽器中需要復寫public abstract void onItemClick (AdapterView<?> parent, View view, int position, long id)方法。

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