Android软件开发之ListView 详解


ListView的使用方法


ListView是Android软件开发中非常重要组件之一,基本上是个软件基本都会使用ListView ,今天我通过一个demo来教大家怎么样使用ListView组件 绘制出漂亮的列表,说道ListView就不得不说Adapter适配器,因为只有通过Adapter才可以把列表中的数据映射到ListView中。
在android的开发中最Adapter 一共可以分为
 ArrayAdapter<T>,
 BaseAdapter,
CursorAdapter,
 HeaderViewListAdapter,
 ResourceCursorAdapter,
 SimpleAdapter,
 SimpleCursorAdapter,
 WrapperListAdapter

软件开发中最常用的有ArrayAdapter<T>, BaseAdapter,  SimpleAdapter,今天我用一段代码向大家诠释如何使用ListView控件。



 




1.简单的ListView

       在List列表中如果不存在过于复杂的东西 我们可以直接去new ArrayAdapter() 来绘制列表,无须继承ArrayAdapter,重写它的方法。但是如果列表中过于复杂的话就需要使用自定义布局来实现List列表。
 
  1. public class SimpleList extends ListActivity {  
  2.     private String[] mListStr = {"姓名:雨松MOMO","性别:男","年龄:25","居住地:北京","邮箱:xuanyusong@gmail.com"};  
  3.     ListView mListView = null;  
  4.     @Override  
  5.     protected void onCreate(Bundle savedInstanceState) {  
  6.     mListView = getListView();  
  7.     setListAdapter(new ArrayAdapter<String>(this,  
  8.                 android.R.layout.simple_list_item_1, mListStr));  
  9.     mListView.setOnItemClickListener(new OnItemClickListener() {  
  10.         @Override  
  11.         public void onItemClick(AdapterView<?> adapterView, View view, int position,  
  12.             long id) {  
  13.         Toast.makeText(SimpleList.this,"您选择了" + mListStr[position], Toast.LENGTH_LONG).show();  
  14.         }  
  15.     });  
  16.   
  17.     super.onCreate(savedInstanceState);  
  18.     }  
  19. }  
2.带标题的ListView列表

      使用 simpleAdapter 需要注意的是须要用Map<String,Object> item 来保存列表中每一项的显示的title与text , new SimpleAdapter的时候将map中的数据写入 ,程序就会帮我们绘制列表了。




 
  1. public class TitleList extends ListActivity {  
  2.     private String[] mListTitle = { "姓名""性别""年龄""居住地","邮箱"};  
  3.     private String[] mListStr = { "雨松MOMO""男""25""北京",  
  4.         "xuanyusong@gmail.com" };  
  5.     ListView mListView = null;  
  6.     ArrayList<Map<String,Object>> mData= new ArrayList<Map<String,Object>>();;  
  7.   
  8.     @Override  
  9.     protected void onCreate(Bundle savedInstanceState) {  
  10.     mListView = getListView();  
  11.         
  12.     int lengh = mListTitle.length;  
  13.     for(int i =0; i < lengh; i++) {  
  14.         Map<String,Object> item = new HashMap<String,Object>();  
  15.         item.put("title", mListTitle[i]);  
  16.         item.put("text", mListStr[i]);  
  17.         mData.add(item);   
  18.     }  
  19.     SimpleAdapter adapter = new SimpleAdapter(this,mData,android.R.layout.simple_list_item_2,  
  20.         new String[]{"title","text"},new int[]{android.R.id.text1,android.R.id.text2});  
  21.         setListAdapter(adapter);  
  22.     mListView.setOnItemClickListener(new OnItemClickListener() {  
  23.         @Override  
  24.         public void onItemClick(AdapterView<?> adapterView, View view, int position,  
  25.             long id) {  
  26.         Toast.makeText(TitleList.this,"您选择了标题:" + mListTitle[position] + "内容:"+mListStr[position], Toast.LENGTH_LONG).show();  
  27.         }  
  28.     });  
  29.     super.onCreate(savedInstanceState);  
  30.     }  
  31. }  
  • 1
  • 2
  • 3
  • 下一页

相关内容