1. 程式人生 > >android listView一般用法

android listView一般用法

ListView是比較常用的控制元件,但一直都覺得建立ListView步驟有點繁瑣,故在此總結一下,方便查閱。

程式效果是實現一個ListView,ListView裡面有標題,內容和圖片,並加入點選和長按響應。

首先在xml裡面定義一個ListView

Xml程式碼 複製程式碼
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayout
  3. android:id="@+id/LinearLayout01"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. xmlns:android="http://schemas.android.com/apk/res/android">
  7. <ListViewandroid:layout_width="wrap_content"
  8. android:layout_height="wrap_content"
  9. android:id="@+id/ListView01"
  10. />
  11. </LinearLayout>

定義ListView每個條目的Layout,用RelativeLayout實現:

Xml程式碼 複製程式碼
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <RelativeLayout
  3. android:id="@+id/RelativeLayout01"
  4. android:layout_width="fill_parent"
  5. xmlns:android="http://schemas.android.com/apk/res/android"
  6. android:layout_height="wrap_content"
  7. android:paddingBottom="4dip"
  8. android:paddingLeft="12dip"
  9. android:paddingRight="12dip">
  10. <ImageView
  11. android:paddingTop="12dip"
  12. android:layout_alignParentRight
    ="true"
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"
  15. android:id="@+id/ItemImage"
  16. />
  17. <TextView
  18. android:text="TextView01"
  19. android:layout_height="wrap_content"
  20. android:textSize="20dip"
  21. android:layout_width="fill_parent"
  22. android:id="@+id/ItemTitle"
  23. />
  24. <TextView
  25. android:text="TextView02"
  26. android:layout_height="wrap_content"
  27. android:layout_width="fill_parent"
  28. android:layout_below="@+id/ItemTitle"
  29. android:id="@+id/ItemText"
  30. />
  31. </RelativeLayout>

 最後在Activity裡面呼叫和加入Listener,具體見註釋:

Java程式碼 複製程式碼
  1. package com.ray.test;   
  2. import java.util.ArrayList;   
  3. import java.util.HashMap;   
  4. import android.app.Activity;   
  5. import android.os.Bundle;   
  6. import android.view.ContextMenu;   
  7. import android.view.MenuItem;   
  8. import android.view.View;   
  9. import android.view.ContextMenu.ContextMenuInfo;   
  10. import android.view.View.OnCreateContextMenuListener;   
  11. import android.widget.AdapterView;   
  12. import android.widget.ListView;   
  13. import android.widget.SimpleAdapter;   
  14. import android.widget.AdapterView.OnItemClickListener;   
  15. publicclass TestListView extends Activity {   
  16. @Override
  17. publicvoid onCreate(Bundle savedInstanceState) {   
  18. super.onCreate(savedInstanceState);   
  19.         setContentView(R.layout.main);   
  20. //繫結Layout裡面的ListView
  21.         ListView list = (ListView) findViewById(R.id.ListView01);   
  22. //生成動態陣列,加入資料
  23.         ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();   
  24. for(int i=0;i<10;i++)   
  25.         {   
  26.             HashMap<String, Object> map = new HashMap<String, Object>();   
  27.             map.put("ItemImage", R.drawable.checked);//影象資源的ID
  28.             map.put("ItemTitle""Level "+i);   
  29.             map.put("ItemText""Finished in 1 Min 54 Secs, 70 Moves! ");   
  30.             listItem.add(map);   
  31.         }   
  32. //生成介面卡的Item和動態陣列對應的元素
  33.         SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,//資料來源 
  34.             R.layout.list_items,//ListItem的XML實現
  35. //動態陣列與ImageItem對應的子項        
  36. new String[] {"ItemImage","ItemTitle""ItemText"},    
  37. //ImageItem的XML檔案裡面的一個ImageView,兩個TextView ID
  38. newint[] {R.id.ItemImage,R.id.ItemTitle,R.id.ItemText}   
  39.         );   
  40. //新增並且顯示
  41.         list.setAdapter(listItemAdapter);   
  42. //新增點選
  43.         list.setOnItemClickListener(new OnItemClickListener() {   
  44. @Override
  45. publicvoid onItemClick(AdapterView<?> arg0, View arg1, int arg2,   
  46. long arg3) {   
  47.                 setTitle("點選第"+arg2+"個專案");   
  48.             }   
  49.         });   
  50. //新增長按點選
  51.         list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {   
  52. @Override
  53. publicvoid onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {   
  54.                 menu.setHeaderTitle("長按選單-ContextMenu");      
  55.                 menu.add(000"彈出長按選單0");   
  56.                 menu.add(010"彈出長按選單1");      
  57.             }   
  58.         });    
  59.     }   
  60. //長按選單響應函式
  61. @Override
  62. publicboolean onContextItemSelected(MenuItem item) {   
  63.         setTitle("點選了長按選單裡面的第"+item.getItemId()+"個專案");    
  64. returnsuper.onContextItemSelected(item);   
  65.     }   
  66. }  

相關推薦

android listView一般用法

ListView是比較常用的控制元件,但一直都覺得建立ListView步驟有點繁瑣,故在此總結一下,方便查閱。 程式效果是實現一個ListView,ListView裡面有標題,內容和圖片,並加入點選和長按響應。 首先在xml裡面定義一個ListView Xm

android ListView 用法

and andro 適應 wrap 對數 字符 常用屬性 滑動條 lba 在Android開發中,listView 是比較常用的開發組件,它以列表的形式展現具體的內容,並且根據數據的長度自適應顯示。 列表的顯示需要三個元素: listView: 用來展示列表的view;

Android列表用法之二:實戰ListView高階用法

在我們的專案中,並不是所有列表都是簡單的使用。類似於新聞列表、QQ聊天列表等,具有圖文並排的列表,每個item都有它不同的佈局型別,都有其不同的實現方式。這類複雜的列表表現形式,在各類知名應用當中,不可或缺的存在著。今天我們就來看看,使用ListView能不能實現此類複雜佈局。 今天的例

AndroidListView用法

(圖片跟內容一點關係也沒有[嘿哈])   l  ListView的作用: (1)    將資料填充到佈局 (2)    處理使用者的選擇點選操作 l  建立ListView需要的3個元素: (1)&nbs

Android—— ListView 的簡單用法及定製ListView介面

一、ListView的簡單用法 2. 訓練目標 1) 掌握 ListView 控制元件的使用 2) 掌握 Adapter 橋樑的作用 實現步驟: 1)首先新建一個專案, 並讓ADT 自動幫我們建立好活動。然後修改activity_main.xml 中的程式碼,如下所示:

android SharedPreferences的一般用法(存取清刪)

        之前做應用時碰到這樣一個問題:在“A” Activity 要與 “B” Activity的Fragment進行通訊傳值,但是忽然發現無法拿到B中Fragment的Handler,又不能傳送廣播,短暫的思考之後想到了SharedPreferences這個輕型

Android listview與adapter用法(包括自定義需要的介面卡)

publicclass MyListViewBase extends Activity { private ListView lv; /*定義一個動態陣列*/ ArrayList<HashMap<String, Object>>listItem;/

Android ListView 和 ScrollView 沖突問題

相同 ·· 設置 info 博客 new 結果 試驗 方法 近期做一款APP,當中有一個類似微博的評論功能的界面,先是列出微博的正文內容和圖片等。然後下邊是評論。一開始就想著用一個ScrollView把主要內容和評論區的ListView包起來。然後加入各個控件的內容就可

Android ListView動畫實現方法

rri pan 自己 data- src def popu 動畫 onclick 在Android中listview是最經常使用的控件之中的一個,可是有時候我們會認為千篇一律的listview看起來過於單調,於是就產生了listView動畫,listview載入了動畫會

Android ListView滑動刪除及響應事件詳解

源代碼下載 引用 example imp cor toast don float 發現 目標:實現類似QQ,微信的消息列表滑動刪除 具體操作: 1. 主頁面布局 首先在布局文件(本例是activity_main.xml)中引入ListView控件,並指定id(如下代

Android各種Adapter用法

app urn turn drawable key save 比較 logs display ArrayAdapter比較簡單,但它只能用於顯示文字。 1 public class MainActivity extends AppCompatActivity { 2

Android HttpLoggingInterceptor的用法簡介

nbsp -- ide evel clas 記錄 pla public andro 該攔截器用於記錄應用中的網絡請求的信息。 示例 OkHttpClient client = new OkHttpClient(); HttpLoggingInterceptor l

Android ListView多布局講解

androidListview優化是一個老生常談的事情了,其優化的方面也有很多種,例如,布局重用、在getView()中減少邏輯計算、減少在頁面滑動的時候加在圖片,而是在頁面停止滾動的時候再加在圖片。而今天要介紹的是另一種方式,那就是多布局。一般使用的場景有一下兩種情況:① 當一個item有多重布局的情況下,

Android ListView動畫特效實現原理及源代碼

stat 每一個 應該 所有 ner haar .get tde pri Android 動畫分三種,當中屬性動畫為我們最經常使用動畫,且能滿足項目中開發差點兒所有需求,google官方包支持3.0+。我們能夠引用三方包nineoldandr

android ——ListView

-1 idg mage 實例 enc rom ppc -a play 谷歌官方文檔的介紹:https://developer.android.com/reference/android/widget/ListView.html 顯示可垂直滾動的視圖集合,其中每個視圖都立即位

Xamarin Android ListView 控件使用

state findview save ada long you xamarin graphic listview 在項目中通常用到了ListView控件,示例如下: create the listitem class ,eg; public class Color

Android ListView動態刷新某項Item

ack static auto ids avi idt ica horizon extc 使用ViewHolder來刷新某項數據,而不用每次都全部刷新數據。 繼承BaseAdapter,新建ViewHolder類。 public class TestListAdap

Android ContentProvider基本用法

truct 數據共享 implement notify username 資源 per mime類型 exc 轉自:https://www.jianshu.com/p/601086916c8f 一、基本概念 ContentProvider是Android系統中提

Android ListView多選模式

ListViewListView使用多選模式好處 交互與數據分離,在多選狀態下不需要修改數據源,在最後確定的時候獲取選擇索引來確定選擇的數據。 ListView模式 CHOICE_MODE_NONE:普通模式; CHOICE_MODE_SINGLE:單選模式; CHOICE_MODE_MULTIPLE:多選

Android應用一般上架流程

blog 個人 con 地址 -m cal 截圖 click mil Android App上架所需文件 上架準備 ?App文件: 1.?安裝包 2.?應用商標:圖