自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AndroidUI系統(tǒng)之 ListView篇

移動開發(fā) Android
本文將從一下幾個方面介紹AndroidUI下的 ListView:分別是:使用XML布局文件來定義ListView的樣式,使用XML布局文件來定義ListViewItem的樣式,以及為ListView添加Click事件。只需要在MainActivity中實(shí)現(xiàn)onListItemClick()方法

1.創(chuàng)建一個項目:ListViewLearn

2.修改MainActivity,繼承于ListActivity

3.創(chuàng)建一個String數(shù)組,用來保存ListView中的現(xiàn)實(shí)內(nèi)容

  1. package com.learn.listviewlearn.utility; 
  2.  
  3. public class Util { 
  4.     public static final String[] COUNTRYS = { "中國""美國""俄羅斯""英國""法國" }; 

4.修改onCreate方法,設(shè)置一個Adapter,數(shù)組中的內(nèi)容在ListView中現(xiàn)實(shí)出來

  1. @Override 
  2.   protected void onCreate(Bundle savedInstanceState) { 
  3.       super.onCreate(savedInstanceState); 
  4.       // setContentView(R.layout.activity_main); 
  5.       this.setListAdapter(new ArrayAdapter<String>(this
  6.               android.R.layout.simple_dropdown_item_1line, Util.COUNTRYS)); 
  7.   }

二、使用XML布局文件來定義ListView的樣式

1.修改activity_main.xml文件,添加一個ListView,id必須為android:id="@android:id/list"

  1. LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     android:layout_width="fill_parent" 
  3.     android:layout_height="fill_parent" 
  4.     android:orientation="vertical" > 
  5.  
  6.     <ListView 
  7.         android:id="@android:id/list" 
  8.         android:layout_width="fill_parent" 
  9.         android:layout_height="fill_parent" 
  10.         android:background="#FFFFFF00" > 
  11.     </ListView> 
  12.  
  13. </LinearLayout> 

2.修改OnCreate方法

  1. @Override 
  2.   protected void onCreate(Bundle savedInstanceState) { 
  3.       super.onCreate(savedInstanceState); 
  4.       setContentView(R.layout.activity_main); 
  5.       this.setListAdapter(new ArrayAdapter<String>(this
  6.               android.R.layout.simple_dropdown_item_1line, Util.COUNTRYS)); 
  7.   }

三、使用XML布局文件來定義ListViewItem的樣式

 1.首先創(chuàng)建一個list_view.xml的布局文件

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:layout_width="match_parent" 
  4.     android:layout_height="match_parent" 
  5.     android:orientation="horizontal" > 
  6.  
  7.     <ImageView 
  8.         android:id="@+id/imageViewIcon" 
  9.         android:layout_width="wrap_content" 
  10.         android:layout_height="wrap_content" 
  11.         android:contentDescription="@string/icon" > 
  12.     </ImageView> 
  13.  
  14.     <TextView 
  15.         android:id="@+id/textViewContent" 
  16.         android:layout_width="wrap_content" 
  17.         android:layout_height="wrap_content" > 
  18.     </TextView> 
  19.  
  20. </LinearLayout> 

2.然后創(chuàng)建一個Adapter繼承于BaseAdapter,主要修改getCount()和getView()方法

  1. package com.learn.listviewlearn.adapter; 
  2.  
  3. import com.learn.listviewlearn.R; 
  4. import com.learn.listviewlearn.utility.Util; 
  5.  
  6. import android.content.Context; 
  7. import android.view.LayoutInflater; 
  8. import android.view.View; 
  9. import android.view.ViewGroup; 
  10. import android.widget.BaseAdapter; 
  11. import android.widget.ImageView; 
  12. import android.widget.TextView; 
  13.  
  14. public class ListViewAdapter extends BaseAdapter { 
  15.     private Context context; 
  16.  
  17.     public ListViewAdapter() { 
  18.         // TODO Auto-generated constructor stub 
  19.     } 
  20.  
  21.     @Override 
  22.     public int getCount() { 
  23.         return Util.COUNTRYS.length; 
  24.     } 
  25.  
  26.     @Override 
  27.     public Object getItem(int position) { 
  28.         // TODO Auto-generated method stub 
  29.         return null
  30.     } 
  31.  
  32.     @Override 
  33.     public long getItemId(int position) { 
  34.         // TODO Auto-generated method stub 
  35.         return 0
  36.     } 
  37.  
  38.     @Override 
  39.     public View getView(int position, View convertView, ViewGroup parent) { 
  40.         if (convertView == null) { 
  41.             convertView = LayoutInflater.from(context).inflate(R.layout.list_item, null); 
  42.             ItemViewCache itemViewCache = new ItemViewCache(); 
  43.             itemViewCache.imageView = (ImageView)convertView.findViewById(R.id.imageViewIcon); 
  44.             itemViewCache.textView = (TextView)convertView.findViewById(R.id.textViewContent); 
  45.             convertView.setTag(itemViewCache); 
  46.         } 
  47.          
  48.         ItemViewCache cache = (ItemViewCache) convertView.getTag(); 
  49.  
  50.         cache.imageView.setImageResource(Util.images[position]); 
  51.         cache.textView.setText(Util.COUNTRYS[position]); 
  52.         return convertView; 
  53.     } 
  54.      
  55.     private static class ItemViewCache{ 
  56.         public TextView textView; 
  57.         public ImageView imageView; 
  58.     } 
  59.  

Util.java

  1. package com.learn.listviewlearn.utility; 
  2.  
  3. import com.learn.listviewlearn.R; 
  4.  
  5. public class Util { 
  6.     public static final String[] COUNTRYS = { "中國""美國""俄羅斯""英國""法國" }; 
  7.     public static final int[] images = { R.drawable.ic_launcher, 
  8.             R.drawable.ic_launcher, R.drawable.ic_launcher, 
  9.             R.drawable.ic_launcher, R.drawable.ic_launcher }; 
  10. }

四、為ListView添加Click事件。只需要在MainActivity中實(shí)現(xiàn)onListItemClick()方法

  1. @Override 
  2.     protected void onListItemClick(ListView l, View v, int position, long id) { 
  3.         Toast.makeText(this"你選擇了" + Util.COUNTRYS[position], Toast.LENGTH_SHORT) 
  4.                 .show(); 
  5.     } 

 

本文鏈接:http://www.cnblogs.com/zhangtingkuo/archive/2014/08/01/3884689.html

責(zé)任編輯:chenqingxiang 來源: cnblogs
相關(guān)推薦

2013-02-26 09:14:52

2010-06-25 09:47:29

Linux系統(tǒng)監(jiān)控

2010-12-24 13:25:44

Linux性能監(jiān)控CPU

2013-09-17 14:00:19

AndroidListView原理

2011-01-14 15:32:17

2010-06-12 16:18:49

機(jī)房空調(diào)基礎(chǔ)知識

2011-02-25 10:25:07

Proftpd

2011-02-25 10:36:12

Proftpd

2012-06-20 13:54:44

架構(gòu)性能優(yōu)化

2024-02-02 10:38:06

虛擬文件系統(tǒng)VFS

2021-12-08 09:11:41

前端

2021-09-06 06:45:06

WebpackMindMasterEntry

2010-11-18 10:08:17

Android

2011-03-02 14:07:24

Pureftpd

2021-09-06 06:45:06

Webpack優(yōu)化MindMaster

2009-11-06 16:48:03

WCF簡介

2014-09-01 10:36:35

個推推送

2014-06-09 14:18:24

2018-08-31 21:35:26

iOSUI設(shè)計師設(shè)計

2009-02-26 17:42:15

Windows服務(wù)器操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號