说实话,其实已经有段时间没有接触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>();@Overrideprotected 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));}@Overridepublic 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("这是一个逗比");}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();}@Overridepublic Object getItem(int arg0) {// TODO Auto-generated method stubreturn list.get(arg0);}@Overridepublic long getItemId(int arg0) {// TODO Auto-generated method stubreturn arg0;}@Overridepublic 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),这样子就可以不显示自带的分割线啦~~

更多相关文章

  1. 读取android手机流量信息
  2. android 获取唯一标识
  3. android 开机直接运行app并当做手机桌面
  4. Android(安卓)--- BaseAdapter
  5. Android获取设备唯一标识完美解决方案
  6. android手机客户端上传文件,java servlet服务器端接收并保存到服
  7. 实习杂记(27):android中关于横竖屏切换的那些事
  8. 你真的了解你手机的状态栏吗?
  9. Android(安卓)手机配office365邮箱

随机推荐

  1. [转]Jollen 的 Android 教學,#11: AndroidM
  2. 【Android】让Python在Android系统上飞一
  3. android四大组件学习总结
  4. Pro Android 4 第五章 理解Intent
  5. Android 常用UI控件的一些属性设置(在.xm
  6. Android(安卓)ViewPager嵌套ViewPager滑
  7. Android基础控件使用指南
  8. Service的xml属性解析
  9. 说说 Android 的常见 UI 控件
  10. Android事件分发/传递机制总结