android listview 中級用法

來源:互聯網
上載者:User

 

/*注意:1繼承了ListActivity,ListActivity和普通的Activity沒有太大的差別,
 * 不同就是對顯示ListView做了許多最佳化,方面顯示而已
 *2使用simpleAdapter的資料用一般都是HashMap構成的List,list的每一節對應ListView的每一行
 *
 */

第一步:編寫布局檔案main.xml,添加一個imageview和textview。具體代碼如下

 

View Code

 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="horizontal"
4 android:layout_width="fill_parent"
5 android:layout_height="wrap_content">
6 <ImageView android:id="@+id/image"
7 android:layout_width="60dp"
8 android:layout_height="60dp"
9 android:src="@drawable/icon"
10 android:paddingLeft="10dp" />
11
12 <TextView android:id="@+id/textview1"
13 android:layout_width="wrap_content"
14 android:layout_height="fill_parent"
15 android:textSize="16dp"
16 android:gravity="center_vertical"
17 android:paddingLeft="10dp" />
18
19 </LinearLayout>

 

第三步:修改ListView03.java,添加listview的相關操作,具體代碼如下

 

View Code

 1 package cn.shaoyangjiang.com;
2
3 import java.util.ArrayList;
4 import java.util.HashMap;
5 import java.util.List;
6 import java.util.Map;
7 import android.app.ListActivity;
8 import android.os.Bundle;
9 import android.widget.SimpleAdapter;
10
11 public class Listview03Activity extends ListActivity {
12
13 private static String[] aa = new String[]{"hello world","this is my listview",
14 "邵洋江加油","你會成功的","you will success"};
15
16 private static int[] draw = new int[]{R.drawable.brick,R.drawable.calendar,R.drawable.eoemarket
17 ,R.drawable.ic_launcher,R.drawable.terminater,R.drawable.whitesociety};
18
19 @Override
20 public void onCreate(Bundle savedInstanceState)
21 {
22 super.onCreate(savedInstanceState);
23 //每個list裡面放的都是MAP,map裡面放的是索引值對,這裡指圖片和文字
24 List<Map<String, Object>> Items = new ArrayList<Map<String, Object>>();
25 //把該顯示的內容放到list中
26 for (int i = 0; i < aa.length; i++)
27 {
28 Map<String, Object> item = new HashMap<String, Object>();
29 item.put("image", draw[i]);
30 item.put("textview1", aa[i]);
31 Items.add(item);
32 }
33 //構建適配器Adapter,將資料與顯示資料的布局頁面綁定
34 SimpleAdapter simpleAdapter = new SimpleAdapter(this, Items,
35 R.layout.main, new String[]{ "textview1", "image" },
36 new int[]{ R.id.textview1, R.id.image});
37 //通過setAdapter()方法把適配器設定給ListView
38 setListAdapter(simpleAdapter);
39 }
40 }

如果還想單機每個listview的item出現響應,可以使用下面這個方法

 

View Code

 1         listView.setOnItemClickListener(new OnItemClickListener() {
2
3 @Override
4 public void onItemClick(AdapterView<?> parent, View view,
5 int position, long id) {
6 //強制轉換為ListView
7 ListView lv =(ListView)parent;
8 //得到item的位置
9 HashMap<String,Object> item = (HashMap<String,Object>)lv.getItemAtPosition(position);
10 //顯示
11 Toast.makeText(MainActivity.this, item.get("listview1").toString(), 1).show();
12
13 }
14 });

:

 

 

 

如果還想深入瞭解,下面的連結不錯

Android之Adapter用法總結:http://kb.cnblogs.com/a/2328334/

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.