Android组件 列表(ListView)

1、ListView的使用-------ArrayAdapter

[html] view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.     <ListView   
  7.         android:id="@+id/myListView"  
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="wrap_content"/>  
  10. </LinearLayout>  
[java] view plain copy print ?
  1. package com.demo.android.listview1;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import android.app.Activity;  
  7. import android.os.Bundle;  
  8. import android.widget.ArrayAdapter;  
  9. import android.widget.ListView;  
  10.   
  11. public class Android_ListView_ArrayAdapterActivity extends Activity {  
  12.     private ListView myListView;  
  13.     @Override  
  14.     public void onCreate(Bundle savedInstanceState) {  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.main);  
  17.         myListView=(ListView) findViewById(R.id.myListView);  
  18.         ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,getMyData());  
  19.         myListView.setAdapter(adapter);  
  20.     }  
  21.     private List<String> getMyData(){  
  22.         List<String> datas=new ArrayList<String>();  
  23.         datas.add("数据项一");  
  24.         datas.add("数据项二");  
  25.         datas.add("数据项三");  
  26.         datas.add("数据项四");  
  27.         datas.add("数据项五");  
  28.         return datas;  
  29.     }   
  30. }  


 

2、ListView的使用-------SimpleAdapter

[html] view plain copy print ?
  1. <P>/res/drawable/trippoilistviewbg.xml文件代码如下:</P>  
[html] view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.     <item android:state_pressed="true" android:drawable="@drawable/beijing"/>  
  4.     <item android:state_selected="true" android:drawable="@drawable/beijing"/>  
  5.     <item android:state_focused="true" android:drawable="@drawable/beijing"/>  
  6. </selector>  
[html] view plain copy print ?
  1.    
[html] view plain copy print ?
  1. <P>/res/layout/listviewrow.xml文件代码如下:</P>  
[html] view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="horizontal"   
  6.     android:background="@drawable/trippoilistviewbg">  
  7.       
  8.     <!-- 手机图片 -->  
  9.     <ImageView   
  10.         android:id="@+id/tripImg"  
  11.         android:layout_width="68dp"  
  12.         android:layout_height="65dp"  
  13.         android:layout_margin="10dp"/>  
  14.       
  15.     <!-- 显示手机名称,价格,打折信息的 LinearLayout-->  
  16.     <LinearLayout   
  17.         android:orientation="vertical"  
  18.         android:layout_width="wrap_content"  
  19.         android:layout_height="wrap_content"  
  20.         android:layout_marginTop="10dp"  
  21.         android:layout_marginRight="10dp"  
  22.         android:layout_marginBottom="10dp">  
  23.           
  24.         <!-- 手机名称 -->  
  25.         <TextView   
  26.             android:id="@+id/phoneName"  
  27.             android:layout_width="wrap_content"  
  28.             android:layout_height="wrap_content"  
  29.             android:textColor="#ff000000"  
  30.             />  
  31.           
  32.         <!-- 手机价格 -->  
  33.         <TextView   
  34.             android:id="@+id/phoneMoney"  
  35.             android:layout_width="wrap_content"  
  36.             android:layout_height="wrap_content"  
  37.             android:textColor="#ff000000"  
  38.             android:layout_marginTop="5dp"  
  39.             android:layout_marginRight="20dp"/>  
  40.           
  41.         <!-- 手机打折 -->  
  42.         <TextView   
  43.             android:id="@+id/phoneDiscount"  
  44.             android:layout_width="wrap_content"  
  45.             android:layout_height="wrap_content"  
  46.             android:textColor="#ffFF0000"  
  47.             android:layout_marginTop="5dp"  
  48.             android:layout_marginRight="20dp"/>  
  49.     </LinearLayout>  
  50. </LinearLayout>  
[html] view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical"   
  6.     android:id="@+id/myListView"  
  7.     android:background="#FFFFF9EB">  
  8. </LinearLayout>  
[java] view plain copy print ?
  1. package com.demo.android.lv2;  
  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.graphics.Color;  
  10. import android.os.Bundle;  
  11. import android.view.View;  
  12. import android.widget.AdapterView;  
  13. import android.widget.LinearLayout;  
  14. import android.widget.ListView;  
  15. import android.widget.SimpleAdapter;  
  16. import android.widget.Toast;  
  17.   
  18. public class MainActivity extends Activity {  
  19.     private LinearLayout myListLayout;  
  20.     private ListView tripListView;  
  21.     private List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();  
  22.       
  23.     @Override  
  24.     public void onCreate(Bundle savedInstanceState) {  
  25.         super.onCreate(savedInstanceState);  
  26.         setContentView(R.layout.main);  
  27.         //获得布局文件   
  28.         myListLayout=(LinearLayout) findViewById(R.id.myListView);  
  29.         //创建ListView对象   
  30.         tripListView=new ListView(MainActivity.this);  
  31.         //设置布局参数   
  32.         LinearLayout.LayoutParams tripListViewParam=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.FILL_PARENT);  
  33.         //当拖拽列表时,默认显示的颜色为黑色,这里设置为白色   
  34.         tripListView.setCacheColorHint(Color.WHITE);  
  35.         myListLayout.addView(tripListView, tripListViewParam);  
  36.         /** 
  37.          *第一个参数:上下文Context 
  38.          *第二个参数:每一行的布局资源文件,这里自定义的列表项布局文件 
  39.          *第三个参数:HashMap中的key信息img,name,money,zhe 
  40.          *第四个参数:listviewrow.xml中的组件id 
  41.          */  
  42.         SimpleAdapter adapter=new SimpleAdapter(MainActivity.this, getTripListData(),R.layout.listviewrow,new String[]{"img","name","money","zhe"} ,new int[]{R.id.tripImg,R.id.phoneName,R.id.phoneMoney,R.id.phoneDiscount});  
  43.         tripListView.setAdapter(adapter);  
  44.           
  45.         tripListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {  
  46.             @Override  
  47.             public void onItemClick(AdapterView<?> arg0, View view, int position,long id) {  
  48.                 Toast.makeText(MainActivity.this"您选择的是:"+list.get(position).get("name").toString(), Toast.LENGTH_SHORT).show();  
  49.             }  
  50.         });  
  51.     }  
  52.       
  53.     public List<Map<String, Object>> getTripListData(){  
  54.         Map<String, Object> map = new HashMap<String, Object>();  
  55.         map.put("img", R.drawable.moto);  
  56.         map.put("name""摩托罗拉(motorola)XT711 3G手机");  
  57.         map.put("money""2699元");  
  58.         map.put("zhe""9折");  
  59.         list.add(map);  
  60.   
  61.         map = new HashMap<String, Object>();  
  62.         map.put("img", R.drawable.iphone);  
  63.         map.put("name""iPhone4 16G版");  
  64.         map.put("money""5880元");  
  65.         map.put("zhe""8.5折");  
  66.         list.add(map);  
  67.   
  68.         map = new HashMap<String, Object>();  
  69.         map.put("img", R.drawable.samsung);  
  70.         map.put("name""三星(SAMSUNG)i9003 3G手机");  
  71.         map.put("money""3099元");  
  72.         map.put("zhe""9折");  
  73.         list.add(map);  
  74.   
  75.         return list;  
  76.     }  
  77. }  

 

3、ListView的使用-------SimpleCursorAdapter

[html] view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical"   
  6.     android:background="#FF666666">  
  7.     <ListView   
  8.         android:id="@+id/myListView"  
  9.         android:layout_width="fill_parent"  
  10.         android:layout_height="wrap_content"/>  
  11. </LinearLayout>  
[java] view plain copy print ?
  1. package com.demo.android.lv3;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.ContentResolver;  
  5. import android.database.Cursor;  
  6. import android.os.Bundle;  
  7. import android.provider.ContactsContract;  
  8. import android.provider.Contacts.People;  
  9. import android.widget.ListView;  
  10. import android.widget.SimpleCursorAdapter;  
  11.   
  12. public class Android_ListView_SimpleCursorAdapterActivity extends Activity {  
  13.     private ListView myListView;  
  14.     @Override  
  15.     public void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17.         setContentView(R.layout.main);  
  18.         myListView=(ListView) findViewById(R.id.myListView);  
  19.         ContentResolver resolver=getContentResolver();  
  20.         Cursor cursor=resolver.query(ContactsContract.Contacts.CONTENT_URI, nullnullnullnull);  
  21.         //将Cursor交给Activity管理,这样Cursor的生命周期可以和Activity自动同步   
  22.         startManagingCursor(cursor);  
  23.         SimpleCursorAdapter adapter=new SimpleCursorAdapter(this,android.R.layout.simple_expandable_list_item_1,cursor,new String[]{ContactsContract.Contacts.DISPLAY_NAME},new int[]{android.R.id.text1});  
  24.         myListView.setAdapter(adapter);  
  25.     }  
  26. }  




 

你可能感兴趣的:(html,android,ListView,object,layout,encoding)