您的位置:首页 > 移动开发 > Android开发

android基础知识复习(三)—— ListView使用

2011-09-25 19:36 633 查看
ListView无疑是任何情况下的重头戏,不可不复习... 有些复杂,又用xml,又用Hashmap的。

程序图





ListView的逻辑是每一个元素套用XML结构显示数据,数据以Hashmap存储。显示和数据通过Adapter连接到一起,再将Adapter设置到ListView上。请看代码:
//ActivityMain.java

package com.fsy;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.ListActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;

public class ActivityMain extends ListActivity {
    @Override
	protected void onListItemClick(ListView l, View v, int position, long id) {
    	Log.i("gaga", "Clicked");
		super.onListItemClick(l, v, position, id);
	}

	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String,String>>();  //存储HashMap的数组
        HashMap<String, String> map1 = new HashMap<String, String>();    //存数据的图
        HashMap<String, String> map2 = new HashMap<String, String>();
       
        map1.put("title", "蓝精灵之歌");
        map1.put("mgs", "阅读10000 评价30");
        map1.put("info", "在那山的这边海的那边有一群程序员,他们老实又腼腆,他们聪明但没钱。他们一天到晚坐在那里熬夜写软件,饿" 
        		+"了就咬一口方便面。哦苦命的程序员,哦苦命的程序员,,只要一改需求他们就要重新搞一遍,但是期限只剩下两天。");

        map2.put("title", "总有这么一群人,在你周围有木有!");
        map2.put("mgs", "阅读100 评价30");
        map2.put("info", "总有一群隐身的朋友如死人一般躺在你的好友列表里,偶尔诈诈尸,时不时还会改改他们的墓志铭。");
      
        list.add(map1);
        list.add(map2);
    
        SimpleAdapter listadapter = new SimpleAdapter(this, list, R.layout.list_layout,
        		new String[]{"title","mgs","info"} , new int[]{R.id.Title,R.id.mgs,R.id.info});  //将显示与数据连接起来的连接器
        setListAdapter(listadapter);
    
    }
}



接下来是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"
    >
    <ListView android:id="@id/android:list"     //此处使用android的list
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent"
    android:scrollbars="vertical"
    ></ListView>
</LinearLayout>

配置list元素的list_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:padding="5dip">
    <TextView android:layout_alignParentLeft="true" 
    android:layout_height="wrap_content" 
    android:id="@+id/Title" 
    android:layout_width="200dip" 
    android:textSize="8pt"
    android:singleLine="true"
    android:text="Title"></TextView>
    
    <TextView android:layout_height="wrap_content" 
    android:id="@+id/mgs" 
    android:layout_width="wrap_content" 
    android:layout_alignParentRight="true" 
    android:textSize="7pt"
    android:text="mgs"></TextView>
  
    <TextView 
    android:id="@+id/info" 
    android:layout_width="fill_parent"    
    android:layout_height="wrap_content"
    android:text="info"
    android:layout_marginTop="4dip"  
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip"    
    android:layout_below="@id/mgs"></TextView>
    
</RelativeLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: