Android中的一個簡單的List應用

來源:互聯網
上載者:User

  原來我以為在Android下使用List,應該是一件很簡單的事情,但是——我錯了!之前一直看書,跟著書本的例子程式去學習寫List,但是仍然沒有掌握到技巧。今天突然看到了一個視頻教程,感覺自己有點頭緒了。這個視頻教程的是www.mars-droid.com,初學者可以去下載學習一下,還是很不錯的,繪聲繪色!哈哈~

  好了,步入正題吧。

  在Android程式,使用ListView,相對來說比較複雜,不僅僅需要在活動中添加一個ListView,用於現在整個List列表,你還需要一個布局檔案,該布局檔案控制這個ListView中的每一項記錄(每一行)的顯示方式。例如:有一個ListView,它有若干行的記錄資訊,但是每一行有多個欄位;如何對這些欄位進行控制,就是這個布局檔案需要處理的事情。

1、主活動的布局:

  在主使用中視窗中,我們只需要簡單的添加一個ListView在活動中就可以了,設定好ListView的屬性。

2、ListView中每一項的布局:

  我們通過一個xml布局檔案控制每一項的布局。比如,下面的xml檔案會在每一項上並列放置兩個TextView。

Item.xml
<LinearLayout 
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:paddingBottom="1dip"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:paddingTop="1dip">
<TextView
android:id="@+id/user_name"
android:layout_width="180dip"
android:layout_height="30dip"
android:textSize="10pt"
android:singleLine="true" />
<TextView
android:id="@+id/user_num"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="right"
android:textSize="10pt" />
</LinearLayout>

3、ListView的java類

  設定主活動繼承自ListActivity類

  通過一個ArrayList儲存ListView的顯示資料

  建立一個SimpleAdapter的執行個體,將該執行個體setListAdapter綁定到當前的ListActivity上。

  設定每一項被單擊時,所要執行的操作。

MyActivity.java

public class MyActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.id.main);

ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
HashMap<String,String> map1 = new HashMap<String,String>();
HashMap<String,String> map2 = new HashMap<String,String>();
HashMap<String,String> map3 = new HashMap<String,String>();
map1.put("user_name", "Allen");
map1.put("user_num", "123");
map2.put("user_name", "Bobo");
map2.put("user_num", "456");
map3.put("user_name", "David");
map3.put("user_num", "789");
list.add(map1);
list.add(map2);
list.add(map3);

SimpleAdapter listAdapter = new SimpleAdapter(
this, // Context
list, // 繫結資料源
R.layout.Item, // Item的布局檔案
new String[] {"user_name", "user_num"}, // ListView的列名稱
new int[] {R.id.user_name, R.id.user_num}); // Item中每個控制項的擺放位置

setListAdapter(listAdapter);
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
}
}

  這個例子是最基本的ListView的例子程式,要好好理解原理,才能更好的應用。至於對程式碼的解釋,就不班門弄斧了,大家有空去www.mars-droid.com裡面下載視頻來看,裡面講解的更加詳細。檔案名稱是《01_13_常用控制項(三).mp4》

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.