1.创建一个项目:ListViewLearn

四方台网站建设公司创新互联,四方台网站设计制作,有大型网站制作公司丰富经验。已为四方台上千提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的四方台做网站的公司定做!
2.修改MainActivity,继承于ListActivity
3.创建一个String数组,用来保存ListView中的现实内容
- package com.learn.listviewlearn.utility;
 - public class Util {
 - public static final String[] COUNTRYS = { "中国", "美国", "俄罗斯", "英国", "法国" };
 - }
 
4.修改onCreate方法,设置一个Adapter,数组中的内容在ListView中现实出来
- @Override
 - protected void onCreate(Bundle savedInstanceState) {
 - super.onCreate(savedInstanceState);
 - // setContentView(R.layout.activity_main);
 - this.setListAdapter(new ArrayAdapter
 (this, - android.R.layout.simple_dropdown_item_1line, Util.COUNTRYS));
 - }
 
二、使用XML布局文件来定义ListView的样式
1.修改activity_main.xml文件,添加一个ListView,id必须为android:id="@android:id/list"
- LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 - android:layout_width="fill_parent"
 - android:layout_height="fill_parent"
 - android:orientation="vertical" >
 - android:id="@android:id/list"
 - android:layout_width="fill_parent"
 - android:layout_height="fill_parent"
 - android:background="#FFFFFF00" >
 
2.修改OnCreate方法
- @Override
 - protected void onCreate(Bundle savedInstanceState) {
 - super.onCreate(savedInstanceState);
 - setContentView(R.layout.activity_main);
 - this.setListAdapter(new ArrayAdapter
 (this, - android.R.layout.simple_dropdown_item_1line, Util.COUNTRYS));
 - }
 
三、使用XML布局文件来定义ListViewItem的样式
1.首先创建一个list_view.xml的布局文件
- android:layout_width="match_parent"
 - android:layout_height="match_parent"
 - android:orientation="horizontal" >
 - android:id="@+id/imageViewIcon"
 - android:layout_width="wrap_content"
 - android:layout_height="wrap_content"
 - android:contentDescription="@string/icon" >
 - android:id="@+id/textViewContent"
 - android:layout_width="wrap_content"
 - android:layout_height="wrap_content" >
 
2.然后创建一个Adapter继承于BaseAdapter,主要修改getCount()和getView()方法
- package com.learn.listviewlearn.adapter;
 - import com.learn.listviewlearn.R;
 - import com.learn.listviewlearn.utility.Util;
 - import android.content.Context;
 - import android.view.LayoutInflater;
 - import android.view.View;
 - import android.view.ViewGroup;
 - import android.widget.BaseAdapter;
 - import android.widget.ImageView;
 - import android.widget.TextView;
 - public class ListViewAdapter extends BaseAdapter {
 - private Context context;
 - public ListViewAdapter() {
 - // TODO Auto-generated constructor stub
 - }
 - @Override
 - public int getCount() {
 - return Util.COUNTRYS.length;
 - }
 - @Override
 - public Object getItem(int position) {
 - // TODO Auto-generated method stub
 - return null;
 - }
 - @Override
 - public long getItemId(int position) {
 - // TODO Auto-generated method stub
 - return 0;
 - }
 - @Override
 - public View getView(int position, View convertView, ViewGroup parent) {
 - if (convertView == null) {
 - convertView = LayoutInflater.from(context).inflate(R.layout.list_item, null);
 - ItemViewCache itemViewCache = new ItemViewCache();
 - itemViewCache.imageView = (ImageView)convertView.findViewById(R.id.imageViewIcon);
 - itemViewCache.textView = (TextView)convertView.findViewById(R.id.textViewContent);
 - convertView.setTag(itemViewCache);
 - }
 - ItemViewCache cache = (ItemViewCache) convertView.getTag();
 - cache.imageView.setImageResource(Util.images[position]);
 - cache.textView.setText(Util.COUNTRYS[position]);
 - return convertView;
 - }
 - private static class ItemViewCache{
 - public TextView textView;
 - public ImageView imageView;
 - }
 - }
 
Util.java
- package com.learn.listviewlearn.utility;
 - import com.learn.listviewlearn.R;
 - public class Util {
 - public static final String[] COUNTRYS = { "中国", "美国", "俄罗斯", "英国", "法国" };
 - public static final int[] images = { R.drawable.ic_launcher,
 - R.drawable.ic_launcher, R.drawable.ic_launcher,
 - R.drawable.ic_launcher, R.drawable.ic_launcher };
 - }
 
四、为ListView添加Click事件。只需要在MainActivity中实现onListItemClick()方法
- @Override
 - protected void onListItemClick(ListView l, View v, int position, long id) {
 - Toast.makeText(this, "你选择了" + Util.COUNTRYS[position], Toast.LENGTH_SHORT)
 - .show();
 - }
 
本文链接:http://www.cnblogs.com/zhangtingkuo/archive/2014/08/01/3884689.html