<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    android 學習之listview

    Posted on 2009-11-06 18:05 瘋狂 閱讀(3367) 評論(2)  編輯  收藏 所屬分類: android
      
       業(yè)余時間學學android,寫點例子分享下,問題仍然多多。

       ListView 是android開發(fā)中最常用的組件之一,它通過一個adapter來構建顯示通常有三種adapter可以使用ArrayAdapterSimpleAdapter,CursorAdapter。CursorAdapter主要正對數(shù)據庫使用,下面通過例子介紹ArrayAdapterSimpleAdapter的簡單使用:
       1:ArrayAdapter 它接受一個數(shù)組或者List作為參數(shù)來構建。
          一下通過簡單例子說明:
      創(chuàng)建Test 繼承ListActivity 這里我們傳入一個string數(shù)組
    public class ListTest extends ListActivity {
        
    /** Called when the activity is first created. */

        @Override
        
    public void onCreate(Bundle savedInstanceState) {
            
    super.onCreate(savedInstanceState);
            String[] sw 
    = new String[100];
            
    for (int i = 0; i < 100; i++{
                sw[i] 
    = "listtest_" + i;
            }

            ArrayAdapter
    <String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,sw);//使用系統(tǒng)已經實現(xiàn)好的xml文件simple_list_item_1
            setListAdapter(adapter);
        }

    }
    運行如圖:

     從以上代碼可以看不我們不需要加載我們自己的layout 而是用系統(tǒng)已經實現(xiàn)的layout很快速的實現(xiàn)了listview

    第二種SimpleAdapter
     先看下我們例子的最終截圖:
     
      通過上圖可以看出listview每行不僅僅是一個string 包括了很多項,圖片,多項文字
    我們通過構建list,并設置每項為一個map來實現(xiàn):
    代碼:創(chuàng)建TestList類繼承Activity
    super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            ArrayList
    <HashMap<String, Object>> users = new ArrayList<HashMap<String, Object>>();
            
    for (int i = 0; i < 10; i++{
                HashMap
    <String, Object> user = new HashMap<String, Object>();
                user.put(
    "img", R.drawable.user);
                user.put(
    "username""姓名(" + i+")");
                user.put(
    "age", (20 + i) + "");
                users.add(user);
            }

            SimpleAdapter saImageItems 
    = new SimpleAdapter(this,
                    users,
    // 數(shù)據來源
                    R.layout.user,//每一個user xml 相當ListView的一個組件 
                    new String[] "img""username""age" },
                    
    // 分別對應view 的id
                    new int[] { R.id.img, R.id.name, R.id.age });
            
    // 獲取listview
            ((ListView) findViewById(R.id.users)).setAdapter(saImageItems);
    下面是main.xml的內容:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation
    ="vertical" android:layout_width="fill_parent"
        android:layout_height
    ="fill_parent">
        
    <TextView android:text="用戶列表" android:gravity="center"
            android:layout_height
    ="wrap_content"
            android:layout_width
    ="fill_parent" android:background="#DAA520"
            android:textColor
    ="#000000">
        
    </TextView>
        
    <LinearLayout 
            android:layout_width
    ="wrap_content"
            android:layout_height
    ="wrap_content">
            
    <TextView android:text="姓名" 
                android:gravity
    ="center" android:layout_width="160px"
                android:layout_height
    ="wrap_content" android:textStyle="bold"
                android:background
    ="#7CFC00">
            
    </TextView>
            
    <TextView android:text="年齡" 
                android:layout_width
    ="170px" android:gravity="center"
                android:layout_height
    ="wrap_content" android:textStyle="bold"
                android:background
    ="#F0E68C">
            
    </TextView>
        
    </LinearLayout>
    <ListView android:layout_width="wrap_content" 
            android:layout_height
    ="wrap_content" android:id="@+id/users">
        
    </ListView>
    </LinearLayout>

    之中l(wèi)istView前面的可以說是標題行,listview相當于用來顯示數(shù)據的容器,里面每行是一個用戶信息,而用戶信息是樣子呢?
    看看use.xml
    <?xml version="1.0" encoding="utf-8"?>  
    <TableLayout    
             android:layout_width
    ="fill_parent"    
             xmlns:android
    ="http://schemas.android.com/apk/res/android"    
             android:layout_height
    ="wrap_content"    
             
    > 
             
    <TableRow > 
             
    <ImageView    
                   android:layout_width
    ="wrap_content"    
                   android:layout_height
    ="wrap_content"   
                   android:id
    ="@+id/img">    
             
    </ImageView>  
             
    <TextView    
                   android:layout_height
    ="wrap_content"    
                   android:layout_width
    ="150px"    
                   android:id
    ="@+id/name">  
             
    </TextView>  
             
    <TextView    
                   android:layout_height
    ="wrap_content"   
                   android:layout_width
    ="170px"    
                   android:id
    ="@+id/age">  
             
    </TextView> 
             
    </TableRow> 
    </TableLayout>  
    也就是說每行包含了一個img 和2個文字信息
    這個文件以參數(shù)的形式通過adapter在listview中顯示。
    也就是:
    SimpleAdapter saImageItems = new SimpleAdapter(this,
                    users,
    // 數(shù)據來源
                    R.layout.user,//每一個user xml 相當ListView的一個組件 
                    new String[] "img""username""age" },

                    
    // 分別對應view 的id
                    new int[] { R.id.img, R.id.name, R.id.age });

    end 針對CursorAdapter希望通過數(shù)據庫來試驗下,下次也寫個例子上來 希望有用 ,不對之處,歡迎拍磚!

    文件下載:/Files/freeman1984/my_list.rar

    評論

    # re: android 學習之listview   回復  更多評論   

    2009-11-06 18:10 by 咖啡妝
    有android高手,希望共同學習!

    # re: android 學習之listview   回復  更多評論   

    2009-11-06 20:24 by TiGERTiAN
    嘗試更進一步學習,寫一個自動加載list玩玩,這個在實際開發(fā)中還是比較常用得。
    主站蜘蛛池模板: 亚洲国产精品lv| 久久99精品免费视频| 亚洲免费视频网址| 亚洲自偷自偷偷色无码中文| 蜜臀91精品国产免费观看| 免费在线观看一级片| caoporm碰最新免费公开视频| 亚洲天堂2016| 久久亚洲AV无码精品色午夜 | 亚洲精品国产成人99久久| 亚洲精品国产V片在线观看| 成人免费视频试看120秒| 国产精品免费观看| 最近免费中文字幕大全高清大全1| 久久久久久国产a免费观看不卡| 国产亚洲成在线播放va| 最新国产精品亚洲| jiz zz在亚洲| 亚洲一区二区三区四区视频| 亚洲毛片免费观看| 亚洲黄色免费网站| 亚洲综合激情九月婷婷 | XXX2高清在线观看免费视频| 理论亚洲区美一区二区三区| 亚洲国产精品ⅴa在线观看| 国产成人亚洲合集青青草原精品| 亚洲一区二区影视| 亚洲人成77777在线播放网站不卡| 亚洲国产成a人v在线| 亚洲人成图片网站| 亚洲三级在线观看| 亚洲人成网亚洲欧洲无码| 亚洲精品宾馆在线精品酒店| 亚洲国产成人无码AV在线影院| 亚洲精品国产摄像头| 国产91成人精品亚洲精品| 成人一级免费视频| a毛片视频免费观看影院| 免费A级毛片无码A∨| 99re免费99re在线视频手机版| 久久午夜羞羞影院免费观看|