Android開發系列(十四):ListView用法、對ListView監聽的三種方法以及ListView中Adapter的使用方法

來源:互聯網
上載者:User

Android開發系列(十四):ListView用法、對ListView監聽的三種方法以及ListView中Adapter的使用方法

一、ArrayAdapter的介紹以及ListView的用法:

Adapter是資料和視圖之間的橋樑,資料在adapter中做處理,然後顯示到視圖上面。就是用來綁定資料用的。

用一個小例子來介紹一下:

 

public class FriendActivity extends Activity {private ListView listView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);//我們設定一個List集合,然後向裡邊添加幾條資料List ls = new ArrayList();ls.add(張三);ls.add(李四);ls.add(王五);//擷取xml檔案中listView控制項listView = (ListView)findViewById(R.id.ayyay_list_list);//然後為listView控制項調用setAdapter方法,讓資料顯示在介面上。listView.setAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,ls));}

 

使用步驟。

(1)定義一個數組來存放ListView中item的內容(如以上代碼中的 ls 集合)。

(2)通過實現ArrayAdapter的建構函式來建立一個ArrayAdapter的對象。

(3)通過ListView的setAdapter()方法綁定ArrayAdapter。

其中第二步有必要說一下的是,ArrayAdapter有多個建構函式,例子中實現的是最常用的一種。

第一個參數為內容物件,直接可以用this來代替。

第二個參數為一個包含TextView,用來填充ListView的每一行的布局資源ID(在以上代碼中的:android.R.layout.simple_list_item_1是系統內建的格式,直接拿來調用了)。

第三個參數為ListView的內容。


二、對ListView對象進行監聽:

常用的對ListView對象監聽的有三個:

1.OnItemClickListener :監聽器在點擊該項目的子項時觸發
2.OnTouchListener:監聽器在觸碰到ListView時觸發
3.OnScrollListener:監聽器在ListView滾動時觸發

 

(1)、OnItemClickListener

 

public class FriendActivity extends Activity {private ListView listView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);//我們設定一個List集合,然後向裡邊添加幾條資料List ls = new ArrayList();ls.add(張三);ls.add(李四);ls.add(王五);//擷取xml檔案中listView控制項listView = (ListView)findViewById(R.id.ayyay_list_list);//然後為listView控制項調用setAdapter方法,讓資料顯示在介面上。listView.setAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,ls));//為listView對象進行監聽:當點擊子項目的時候觸發listView.setOnItemClickListener(new ItemClickEvent());}//繼承OnItemClickListener,當子項目被點擊的時候觸發private final class ItemClickEvent implements OnItemClickListener{@Override//這裡需要注意的是第三個參數arg2,這是代表單擊第幾個選項public void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) {//通過單擊事件,獲得單擊選項的內容String text = listView.getItemAtPosition(arg2)+;//通過吐絲對象顯示出來。Toast.makeText(getApplicationContext(), text, 1).show();}}}

可以看到,當單擊第二項李四,下邊會用吐絲對象顯示一個李四

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.