Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android學習指南之十二:列表組件ListView

Android學習指南之十二:列表組件ListView

編輯:關於android開發

       Android學習指南上一節中講的是ProgressBar、SeekBar和RatingBar,本節主要講講列表組件ListView。

       列表組件是開發中經常用到組件,該組件在使用時需要為它提供適配器,由適配器提供來確定顯示樣式和顯示數據。

       下面給大家一個簡單的例子:

       首先新建一個項目Lesson8_ListViewTest,Activity name是MainListViewTest 。

       MainListViewTest.java的代碼如下:

Java代碼
  1. package android.basic.lesson8;   
  2.   
  3. import android.app.Activity;   
  4. import android.os.Bundle;   
  5. import android.view.View;   
  6. import android.widget.AdapterView;   
  7. import android.widget.AdapterView.OnItemClickListener;   
  8. import android.widget.AdapterView.OnItemLongClickListener;   
  9. import android.widget.ArrayAdapter;   
  10. import android.widget.ListView;   
  11. import android.widget.TextView;   
  12. import android.widget.Toast;   
  13.   
  14. public class MainListViewTest extends Activity {   
  15.   
  16.     /** Called when the activity is first created. */  
  17.         @Override  
  18.     public void onCreate(Bundle savedInstanceState) {   
  19.         super.onCreate(savedInstanceState);   
  20.         setContentView(R.layout.main);   
  21.   
  22.         //找到ListView   
  23.         ListView lv= (ListView)findViewById(R.id.ListView01);   
  24.   
  25.         //定義數組   
  26.         String[] data ={   
  27.                         "Android開發基礎篇 第一講",   
  28.                         "Android開發基礎篇 第二講",   
  29.                         "Android開發基礎篇 第三講",   
  30.                         "Android開發基礎篇 第四講",   
  31.                         "Android開發基礎篇 第五講",   
  32.                         "Android開發基礎篇 第六講",   
  33.                         "Android開發基礎篇 第七講",   
  34.                         "Android開發基礎篇 第八講",   
  35.                         "Android開發基礎篇 第九講"  
  36.                         };   
  37.   
  38.         //為ListView提供數組適配器   
  39.         lv.setAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1,data));   
  40.   
  41.         //為ListView設置列表項點擊監聽器   
  42.                 lv.setOnItemClickListener(new OnItemClickListener() {   
  43.   
  44.                         @Override  
  45.                         public void onItemClick(AdapterView<?> parent, View view,   
  46.                                         int position, long id) {   
  47.                                 Toast.makeText(getApplicationContext(),   
  48.                                                 "您點擊的是:"+((TextView) view).getText(), Toast.LENGTH_SHORT).show();   
  49.                         }   
  50.                 });   
  51.   
  52.                 //為ListView設置長按監聽器   
  53.                 lv.setOnItemLongClickListener(new OnItemLongClickListener(){   
  54.   
  55.                         @Override  
  56.                         public boolean onItemLongClick(AdapterView<?> parent, View view,   
  57.                                         int position, long id) {   
  58.                                 Toast.makeText(getApplicationContext(),   
  59.                                                 "您長按的是:"+((TextView) view).getText(), Toast.LENGTH_SHORT).show();   
  60.                                 return false;   
  61.                         }   
  62.                 });   
  63.     }   
  64. }  

       其中:

       1、android.R.layout.simple_list_item_1 是一個Android系統內置的ListView布局方式;我們可以自定義ListView的布局方式。

       2、OnItemClickListener是個接口,用new創建一個接口的做法是不是有點怪?實際上這裡是建立了一個匿名類,來滿足setOnItemClickListener()方法的參數需求。

       3、Toast.makeText().show() 的寫法大家可以記一下,可以創造出一個氣泡提示效果。

       main.xml的代碼如下:

XML/HTML代碼
  1. < ?xml version="1.0" encoding="utf-8"?>     
  2.   
  3. <LINEARLAYOUT android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">     
  4.     <TEXTVIEW android:layout_height="wrap_content" android:layout_width="fill_parent" android:textSize="25sp" android:gravity="center" android:id="@+id/TextView01" android:text="Android開發基礎篇">     
  5.     </TEXTVIEW>     
  6.  <LISTVIEW android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/ListView01">     
  7.  </LISTVIEW>     
  8. </LINEARLAYOUT>   

       運行程序我們看一下效果圖如下:

Android學習指南之十二:列表組件ListView

       點擊其中一個列表項的時候會觸發Item的onClick事件,彈出一個氣泡提示框。在一個選項上長時間按著也會觸發LongClick事件,彈出另一個氣泡提示框。

列表組件ListView氣泡提示框

       上面的例子用到了系統自帶的android.R.layout.simple_list_item_1布局,使用的是在Java代碼中的數組做數據源;我們可以再做個例子使用XML做數據源,再使用一下系統自帶的android.R.layout.simple_list_item_2布局,看看他們的表現有什麼不同。

       ListView組件熟悉了以後,可以實現很多種界面效果,而且實現起來簡單方便。

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