Android入門之ListView (二)
Android入門之ListView 講的是如何製作一個具有兩行文字的 自定義控制元件 ,作為ListView的Item的使用方法。這篇接下來也是圍繞ListView和Item, 更加深入地介紹它們的用法。
首先,先來看看本文程式碼執行的結果,本文的Item比上一篇中的Item多出左邊的圖示:
main.xml的原始碼,跟上一篇的一樣,這裡就不作解釋了,直接貼出my_imageitem.xml的程式碼,就是它實現ImageItem的UI:
- <? xml version = "1.0" encoding = "utf-8" ?>
- < RelativeLayout
- android:id = "@+id/RelativeLayout01"
- android:layout_width = "fill_parent"
- xmlns:android = "http://schemas.android.com/apk/res/android"
- android:layout_height = "wrap_content"
- android:paddingBottom = "4dip"
- android:paddingLeft = "12dip" >
- < ImageView
- android:layout_width = "wrap_content"
- android:layout_height = "wrap_content"
- android:id = "@+id/ItemImage" >
- </ ImageView >
- < TextView
- android:text = "TextView01"
- android:layout_height = "wrap_content"
- android:textSize = "30dip"
- android:layout_width = "fill_parent"
- android:layout_toRightOf = "@+id/ItemImage"
- android:id = "@+id/ItemTitle" >
- </ TextView >
- < TextView
- android:text = "TextView02"
- android:layout_height = "wrap_content"
- android:layout_width = "fill_parent"
- android:layout_toRightOf = "@+id/ItemImage"
- android:layout_below = "@+id/ItemTitle"
- android:id = "@+id/ItemText" >
- </ TextView >
- </ RelativeLayout >
解釋一下 my_imageitem.xml的程式碼:這裡使用了RelativeLayout佈局,控制元件的 關鍵的屬性是:
ItemTitle的屬性 android:layout_toRightOf="@+id/ItemImage" ,ItemTitle在ItemImage的右邊;
ItemText的屬性 android:layout_toRightOf="@+id/ItemImage",ItemText在ItemImage的右邊, android:layout_below="@+id/ItemTitle", ItemText 在 ItemTitle的下面。
最後,貼出JAVA的原始碼,這裡的原始碼跟上一篇的很類似,只是修改了一部分,引入Item Image:
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super .onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //繫結XML中的ListView,作為Item的 容器
- ListView list = (ListView) findViewById(R.id.MyListView);
- //生成動態陣列,並且轉載資料
- ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();
- for ( int i= 0 ;i< 10 ;i++)
- {
- HashMap<String, Object> map = new HashMap<String, Object>();
- map.put("ItemImage" , R.drawable.icon); //新增影象資源的ID
- map.put("ItemTitle" , "This is Title....." );
- map.put("ItemText" , "This is text....." );
- lstImageItem.add(map);
- }
- //生成介面卡的ImageItem <====> 動態陣列的元素,兩者一一對應
- SimpleAdapter saImageItems = new SimpleAdapter( this , //沒什麼解釋
- lstImageItem,//資料來源
- R.layout.my_imageitem,//ListItem的XML實現
- //動態陣列與ImageItem對應的子項
- new String[] { "ItemImage" , "ItemTitle" , "ItemText" },
- //ImageItem的XML檔案裡面的一個ImageView,兩個TextView ID
- new int [] {R.id.ItemImage,R.id.ItemTitle,R.id.ItemText});
- //新增並且顯示
- list.setAdapter(saImageItems);
- }
相關文章
- Flask二之快速入門Flask
- Android OkHttp原始碼解析入門教程(二)AndroidHTTP原始碼
- Android開發者的Flutter入門(二)AndroidFlutter
- android之豎直滾動控制元件-ListViewAndroid控制元件View
- android中的ListViewAndroidView
- Android 自定義 View 之入門篇AndroidView
- Flutter入門進階之旅(十四)ListView&GridViewFlutterView
- Mac之Android Studio開發NDK入門MacAndroid
- 《Android Gradle權威指南》之Gradle入門AndroidGradle
- android 設定listview高度AndroidView
- Android 基礎之圖片載入(二)Android
- Python入門之函式呼叫(二)Python函式
- 【Android開發入門教程】二.Android應用程式結構分析Android
- ListView 之非同步載入圖片亂序View非同步
- Spring Security系列之入門應用(二)Spring
- Hadoop入門(二)之 HDFS 詳細解析Hadoop
- LeetCode入門指南 之 二叉樹LeetCode二叉樹
- Android入門教程 | RecyclerView使用入門AndroidView
- Android Bluetooth 入門Android
- gRPC(二)入門:Protobuf入門RPC
- Android入門教程 | Kotlin協程入門AndroidKotlin
- LeetCode入門指南 之 二分搜尋LeetCode
- (課程學習)Android必學-非同步載入 —— 監聽 ListViewAndroid非同步View
- android:listView Button 焦點問題AndroidView
- android 入門- 詞彙Android
- Android WorkManager使用入門Android
- Android新手入門1Android
- spring入門(二)Spring
- mySql入門-(二)MySql
- shiro實戰系列(二)之入門實戰續
- Python 入門之經典函式例項(二)Python函式
- GAN網路從入門教程(二)之GAN原理
- Flutter入門進階之旅(十五)ListView下拉重新整理&上拉載入更多FlutterView
- Android:ListView的擴充與進階AndroidView
- android NestedScrollView和ListView衝突問題AndroidView
- Jtti:Android介面卡ListView如何使用?JttiAndroidView
- 【Android開發入門教程】三.Activity入門指南!Android
- 【Android開發入門教程】四.使用者介面之LayoutAndroid
- Android入門教程 | UI佈局之LinearLayout 線性佈局AndroidUI