`
吃货吃货
  • 浏览: 31925 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

android——ListView实例

阅读更多

说实话,其实已经有段时间没有接触android开发了,不过这个学期也算是重新拾起了android开发,不过最近看到手机移动端开发应用这么火,自己也算是确定了以后以手机应用开发为主的发展方向吧。闲话不多说,直接切入正题:

大家都用过手机QQ应该知道,手机QQ上的好友列表用起来非常的方便,其实就是通过android中的一个控件listView来实现的,我们暂时先实现一个最简单的listView的例子(之后的扩展功能可以自己添加),如下图所示:

   首先我们要明确列表的显示需要三个元素:

1.ListVeiw用来展示列表的View

2.适配器用来把数据映射到ListView上的中介

3.数据 具体的将被映射的字符串,图片,或者基本组件。

   那么首先是主界面的XML文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".ListViewActivity" >

    <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>

 接下来是ListView列表中每一行item显示的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="20dp" >

            <ImageView
                android:id="@+id/imageView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/abaose" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginLeft="40dp"
                android:text="TextView" />

        </LinearLayout>

    </LinearLayout>

</LinearLayout>

   那么下面是最关键的一部分,ListView添加一个适当的适配器,以及适配器的使用都如下所示,为了方便阅读,特意自己写了一个适配器,继承BaseAdapter:

package com.pzw.listview;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class ListViewActivity extends Activity {
	
	private List<String> mylist = new ArrayList<String>();
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_list_view);
		ListView lv = (ListView) findViewById(R.id.listView);
		lv.setAdapter(new LvAdapter(mylist));
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.list_view, menu);
		return true;
	}
	
	protected class LvAdapter extends BaseAdapter{
		private List<String> list;
		private LvAdapter(List<String> list){
			this.list = list;
			list.add("这是一个美女");
			list.add("这是一个帅哥");
			list.add("这是一个基佬");
			list.add("这是一个逗比");
		}
		
		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return list.size();
		}

		@Override
		public Object getItem(int arg0) {
			// TODO Auto-generated method stub
			return list.get(arg0);
		}

		@Override
		public long getItemId(int arg0) {
			// TODO Auto-generated method stub
			return arg0;
		}

		@Override
		public View getView(int arg0, View arg1, ViewGroup arg2) {
			String str = list.get(arg0);
			View view = getLayoutInflater().inflate(R.layout.item_listview, null);
			TextView tv = (TextView)view.findViewById(R.id.textView1);
			tv.setText(str);
			return view;
		}
		
	}

}

 

 当然,这只是一个最简单的ListView的实现,如果你想要实现更加漂亮或者是更加酷炫的效果,可以在item_listview中随意添加各个组件,如果你觉得ListView上自带的分割线很丑的话,也可以在java代码中加上setDividerHeight(0),这样子就可以不显示自带的分割线啦~~

  • 大小: 121.6 KB
0
0
分享到:
评论

相关推荐

    8:Android项目源码-毕业设计源码(168套).rar

    Android——仿美图秀秀和IOS系统的相机胶卷.zip Android创建UI的新思路:用javascript与Activity进行交互.zip Android模仿易网新闻页面源码(异步加载).zip Android瀑布流实现,类似于蘑菇街和迷尚 应用里的排列.zip ...

    Android编程入门很简单.(清华出版.王勇).part1

    5.3.1 使用列表——ListView 5.3.2通过实例学习列表 5.3.3 使用可扩展列表——EXpalldableListView 5.3.4实例——简单使用ExpandableListView 5.3.5实例——深入使用可扩展列表 5.4使用菜单——Menu 5.4.1 Menu的...

    《Google Android开发入门与实战》

    第7章 良好的学习开端——Android基本组件介绍之用好列表,做好程序——列表(ListView)介绍与实例 第7章 良好的学习开端——Android基本组件介绍之友好地互动交流——对话框(Dialog)介绍与实例-1 第7章 良好的学习...

    安卓Andriod源码——Fragment实现tab实例代码.zip

    安卓Andriod源码——Fragment实现tab实例代码.zip

    Android编程入门很简单.(清华出版.王勇).part2

    5.3.1 使用列表——ListView 5.3.2通过实例学习列表 5.3.3 使用可扩展列表——EXpalldableListView 5.3.4实例——简单使用ExpandableListView 5.3.5实例——深入使用可扩展列表 5.4使用菜单——Menu 5.4.1 Menu的...

    ListView简单使用实例——新闻页面demo

    ListView 是 Android 系统为我们提供的一种列表显示的一种控件。 使用它可以用来显示我们常见的列表形式,继承自抽象类 AdapterView。 常用适配器介绍 ArrayAdapter:简单、易用的 Adapter,用于将数组数据作为数据...

    android开发入门与实战(下)

    7.6 用好列表,做好程序——列表(ListView)介绍与实例 7.6.1 实例程序演示 7.6.2 实例编程实现 7.7 友好地互动交流——对话框(Dialog)介绍与实例 7.8 温馨的提醒——Toast和Notification应用 7.8.1 实例操作演示 ...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与Menu整合技巧 4.21 查找程序根目录下所有文件——JavaI/O与ListActivity的结合.. 4.22 加载手机磁盘里的图文件——使用...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与Menu整合技巧 4.21 查找程序根目录下所有文件——JavaI/O与ListActivity的结合.. 4.22 加载手机磁盘里的图文件——使用...

    android开发入门与实战(上)

    7.6 用好列表,做好程序——列表(ListView)介绍与实例 7.6.1 实例程序演示 7.6.2 实例编程实现 7.7 友好地互动交流——对话框(Dialog)介绍与实例 7.8 温馨的提醒——Toast和Notification应用 7.8.1 实例操作演示 ...

    《Google Android开发入门与实战》.pdf

    7.6 用好列表,做好程序——列表(listview)介绍与实例 111 7.6.1 实例程序演示 111 7.6.2 实例编程实现 112 7.7 友好地互动交流——对话框(dialog)介绍与实例 119 7.8 温馨的提醒——toast和...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与Menu整合技巧 4.21 查找程序根目录下所有文件——JavaI/O与ListActivity的结合.. 4.22 加载手机磁盘里的图文件——使用...

    android开发资料大全

    android用户界面之ListView教程实例汇 android用户界面之Toast教程实例汇 android用户界面之AlarmManager教程实例汇 android用户界面详尽教程实例 android用户界面之Widget教程实例汇总 android用户界面之TabHost...

    Android自定义控件开发实战之实现ListView下拉刷新实例代码

    这篇博客为大家介绍一个android常见的功能——ListView下拉刷新: 首先下拉未松手时候手机显示这样的界面: 下面的代码是自定的扎样的控件: &lt;span xss=removed&gt;package com.dhsr.smartID.view; import android...

    Google Android SDK开发范例大全的目录

    4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与Menu整合技巧 4.21 查找程序根目录下所有文件——JavaI/O与ListActivity的结合.. 4.22 加载手机磁盘里的图文件——使用...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与Menu整合技巧 4.21 查找程序根目录下所有文件——JavaI/O与ListActivity的结合.. 4.22 加载手机磁盘里的图文件——...

    Google.Android开发入门与实战

    7.6 用好列表,做好程序——列表(ListView)介绍与实例 7.6.1 实例程序演示 7.6.2 实例编程实现 7.7 友好地互动交流——对话框(Dialog)介绍与实例 7.8 温馨的提醒——Toast和Notification应用 7.8.1 实例操作演示 ...

    Google Android开发入门与实战的代码

    7.6 用好列表,做好程序——列表(ListView)介绍与实例 111 7.6.1 实例程序演示 111 7.6.2 实例编程实现 112 7.7 友好地互动交流——对话框(Dialog)介绍与实例 119 7.8 温馨的提醒——Toast和...

Global site tag (gtag.js) - Google Analytics