发布于 2014-10-15 09:38:31 | 226 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Android移动端操作系统

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。


列表视图(ListView)是Android当中一个非常重要的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。

列表的显示需要三个元素:

1.ListVeiw 用来展示列表的View。

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

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

 

首先介绍“适配器”这个基础概念。在列表中定义的数据都通过“适配器”来映射到ListView上,ListView中常用的适配器有两种:

ArrayAdapter:最简单的适配器,只能显示一行文字;

SimpleAdapter:具有很好扩展性的适配器,可以显示自定义内容。

 

用ArrayAdapter结合ListView进行显示

运行效果

 

源代码ActivityList1.java

 
  1. package com.rainsong.listviewdemo;  
  2.   
  3. import java.util.List;  
  4. import java.util.ArrayList;  
  5.   
  6. import android.app.Activity;  
  7. import android.os.Bundle;  
  8. import android.view.View;  
  9. import android.widget.AdapterView;   
  10. import android.widget.AdapterView.OnItemClickListener;    
  11. import android.widget.ArrayAdapter;  
  12. import android.widget.ListView;  
  13. import android.widget.Toast;  
  14.   
  15. public class ActivityList1 extends Activity  
  16. {  
  17.     ListView listView;  
  18.     List<String> data;  
  19.     ArrayAdapter arrayAdapter;  
  20.     OnItemClickListener listener;  
  21.   
  22.     /** Called when the activity is first created. */  
  23.     @Override  
  24.     public void onCreate(Bundle savedInstanceState)  
  25.     {  
  26.         super.onCreate(savedInstanceState);  
  27.         listView = new ListView(this);  
  28.         data = new ArrayList<String>();  
  29.         data.add("Item1");  
  30.         data.add("Item2");  
  31.         data.add("Item3");  
  32.         arrayAdapter = new ArrayAdapter(this,  
  33.                 android.R.layout.simple_list_item_1, data);  
  34.         listView.setAdapter(arrayAdapter);  
  35.   
  36.         listener = new OnItemClickListener() {  
  37.             public void onItemClick(AdapterView<?> parent,  
  38.                     View view, int position, long id) {  
  39.                 Toast.makeText(ActivityList1.this, parent.getItemAtPosition(position).toString() + " clicked",Toast.LENGTH_SHORT).show();  
  40.             }  
  41.         };  
  42.         listView.setOnItemClickListener(listener);  
  43.   
  44.         setContentView(listView);  
  45.     }  
  46. }  

 

API知识点

 

ArrayAdapter

public class

ArrayAdapter

extends BaseAdapter

implements Filterable

 

ArrayAdapter(Context context, int resource, List<T> objects)

Constructor

 

ListView

public class

ListView

extends AbsListView

 

ListView(Context context)

 

void

setAdapter(ListAdapter adapter)

Sets thedata behind this ListView.

 

void

setOnItemClickListener(AdapterView.OnItemClickListener listener)

Register acallback to be invoked when an item in this AdapterView has been clicked.

 

AdapterView.OnItemClickListener

 public static interface

AdapterView.OnItemClickListener

 

abstract void

onItemClick(AdapterView<?>parent, View view, int position, long id)

Callbackmethod to be invoked when an item in this AdapterView has been clicked.

 

AdapterView

public abstract class

AdapterView

extends ViewGroup

 

Object

getItemAtPosition(int position)

Gets the data associated with the specified position in the list.

 

Toast

public class

Toast

extends Object

 

Constants

int        LENGTH_LONG        Showthe view or text notification for a long period of time.

int        LENGTH_SHORT        Showthe view or text notification for a short period of time.

 

static Toast

makeText(Context context, int resId, int duration)

Make a standard toast that just contains a text view with the text from a resource.

 

static Toast

makeText(Context context, CharSequence text, int duration)

Make a standard toast that just contains a text view.

 

void

show()

Show the view for the specified duration.

 

用SimpleAdapter结合ListView进行显示

运行效果

 

 

源代码ActivityList2.java

 

  1. package com.rainsong.listviewdemo;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.HashMap;  
  5. import java.util.List;  
  6. import java.util.Map;  
  7.   
  8. import android.app.Activity;  
  9. import android.os.Bundle;  
  10. import android.view.View;  
  11. import android.widget.AdapterView;   
  12. import android.widget.AdapterView.OnItemClickListener;    
  13. import android.widget.ListView;  
  14. import android.widget.SimpleAdapter;  
  15. import android.widget.Toast;  
  16.   
  17. public class ActivityList2 extends Activity  
  18. {  
  19.     private List<Map<String, Object>> data;  
  20.     private ListView listView;  
  21.     private SimpleAdapter adapter;  
  22.     OnItemClickListener listener;  
  23.   
  24.     /** Called when the activity is first created. */  
  25.     @Override  
  26.     public void onCreate(Bundle savedInstanceState)  
  27.     {  
  28.         super.onCreate(savedInstanceState);  
  29.   
  30.         data = new ArrayList<Map<String, Object>>();  
  31.         Map<String, Object> item;  
  32.   
  33.         item = new HashMap<String, Object>();  
  34.         item.put("姓名", "张三");  
  35.         item.put("性别", "男");  
  36.         data.add(item);  
  37.   
  38.         item = new HashMap<String, Object>();  
  39.         item.put("姓名", "李四");  
  40.         item.put("性别", "男");  
  41.         data.add(item);  
  42.   
  43.         item = new HashMap<String, Object>();  
  44.         item.put("姓名", "王五");  
  45.         item.put("性别", "男");  
  46.         data.add(item);  
  47.   
  48.         item = new HashMap<String, Object>();  
  49.         item.put("姓名", "小雪");  
  50.         item.put("性别", "女");  
  51.         data.add(item);  
  52.   
  53.         item = new HashMap<String, Object>();  
  54.         item.put("姓名", "小明");  
  55.         item.put("性别", "男");  
  56.         data.add(item);  
  57.   
  58.         listView = new ListView(this);  
  59.         adapter = new SimpleAdapter(this, data,  
  60.                 android.R.layout.simple_list_item_2, new String[] {"姓名", "性别"},  
  61.                 new int[] {android.R.id.text1, android.R.id.text2});  
  62.          listView.setAdapter(adapter);  
  63.   
  64.          setContentView(listView);  
  65.   
  66.          listener = new OnItemClickListener() {  
  67.             public void onItemClick(AdapterView<?> parent,  
  68.                     View view, int position, long id) {  
  69.                 Toast.makeText(ActivityList2.this, parent.getItemAtPosition(position).toString()  
  70.                     + " clicked",Toast.LENGTH_SHORT).show();  
  71.             }  
  72.         };  
  73.         listView.setOnItemClickListener(listener);  
  74.     }  
  75. }  

 

API知识点

SimpleAdapter

public class

SimpleAdapter

extends BaseAdapter

implements Filterable

 

SimpleAdapter(Contextcontext, List<? extends Map<String, ?>> data, int resource,String[] from, int[] to)

Constructor

 



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务