1、ListView的使用-------ArrayAdapter
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <ListView
- android:id="@+id/myListView"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"/>
- </LinearLayout>
- package com.demo.android.listview1;
- import java.util.ArrayList;
- import java.util.List;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.ArrayAdapter;
- import android.widget.ListView;
- public class Android_ListView_ArrayAdapterActivity extends Activity {
- private ListView myListView;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- myListView=(ListView) findViewById(R.id.myListView);
- ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1,getMyData());
- myListView.setAdapter(adapter);
- }
- private List<String> getMyData(){
- List<String> datas=new ArrayList<String>();
- datas.add("数据项一");
- datas.add("数据项二");
- datas.add("数据项三");
- datas.add("数据项四");
- datas.add("数据项五");
- return datas;
- }
- }
2、ListView的使用-------SimpleAdapter
- <P>/res/drawable/trippoilistviewbg.xml文件代码如下:</P>
/res/drawable/trippoilistviewbg.xml文件代码如下:
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:state_pressed="true" android:drawable="@drawable/beijing"/>
- <item android:state_selected="true" android:drawable="@drawable/beijing"/>
- <item android:state_focused="true" android:drawable="@drawable/beijing"/>
- </selector>
- <P>/res/layout/listviewrow.xml文件代码如下:</P>
/res/layout/listviewrow.xml文件代码如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="horizontal"
- android:background="@drawable/trippoilistviewbg">
- <!-- 手机图片 -->
- <ImageView
- android:id="@+id/tripImg"
- android:layout_width="68dp"
- android:layout_height="65dp"
- android:layout_margin="10dp"/>
- <!-- 显示手机名称,价格,打折信息的 LinearLayout-->
- <LinearLayout
- android:orientation="vertical"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="10dp"
- android:layout_marginRight="10dp"
- android:layout_marginBottom="10dp">
- <!-- 手机名称 -->
- <TextView
- android:id="@+id/phoneName"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="#ff000000"
- />
- <!-- 手机价格 -->
- <TextView
- android:id="@+id/phoneMoney"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="#ff000000"
- android:layout_marginTop="5dp"
- android:layout_marginRight="20dp"/>
- <!-- 手机打折 -->
- <TextView
- android:id="@+id/phoneDiscount"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textColor="#ffFF0000"
- android:layout_marginTop="5dp"
- android:layout_marginRight="20dp"/>
- </LinearLayout>
- </LinearLayout>
- <?xml version="1.0" encoding="utf-8"?>
- <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="@+id/myListView"
- android:background="#FFFFF9EB">
- </LinearLayout>
- package com.demo.android.lv2;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import android.app.Activity;
- import android.graphics.Color;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.LinearLayout;
- import android.widget.ListView;
- import android.widget.SimpleAdapter;
- import android.widget.Toast;
- public class MainActivity extends Activity {
- private LinearLayout myListLayout;
- private ListView tripListView;
- private List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //获得布局文件
- myListLayout=(LinearLayout) findViewById(R.id.myListView);
- //创建ListView对象
- tripListView=new ListView(MainActivity.this);
- //设置布局参数
- LinearLayout.LayoutParams tripListViewParam=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.FILL_PARENT);
- //当拖拽列表时,默认显示的颜色为黑色,这里设置为白色
- tripListView.setCacheColorHint(Color.WHITE);
- myListLayout.addView(tripListView, tripListViewParam);
- /**
- *第一个参数:上下文Context
- *第二个参数:每一行的布局资源文件,这里自定义的列表项布局文件
- *第三个参数:HashMap中的key信息img,name,money,zhe
- *第四个参数:listviewrow.xml中的组件id
- */
- 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});
- tripListView.setAdapter(adapter);
- tripListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> arg0, View view, int position,long id) {
- Toast.makeText(MainActivity.this, "您选择的是:"+list.get(position).get("name").toString(), Toast.LENGTH_SHORT).show();
- }
- });
- }
- public List<Map<String, Object>> getTripListData(){
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("img", R.drawable.moto);
- map.put("name", "摩托罗拉(motorola)XT711 3G手机");
- map.put("money", "2699元");
- map.put("zhe", "9折");
- list.add(map);
- map = new HashMap<String, Object>();
- map.put("img", R.drawable.iphone);
- map.put("name", "iPhone4 16G版");
- map.put("money", "5880元");
- map.put("zhe", "8.5折");
- list.add(map);
- map = new HashMap<String, Object>();
- map.put("img", R.drawable.samsung);
- map.put("name", "三星(SAMSUNG)i9003 3G手机");
- map.put("money", "3099元");
- map.put("zhe", "9折");
- list.add(map);
- return list;
- }
- }
3、ListView的使用-------SimpleCursorAdapter
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical"
- android:background="#FF666666">
- <ListView
- android:id="@+id/myListView"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"/>
- </LinearLayout>
- package com.demo.android.lv3;
- import android.app.Activity;
- import android.content.ContentResolver;
- import android.database.Cursor;
- import android.os.Bundle;
- import android.provider.ContactsContract;
- import android.provider.Contacts.People;
- import android.widget.ListView;
- import android.widget.SimpleCursorAdapter;
- public class Android_ListView_SimpleCursorAdapterActivity extends Activity {
- private ListView myListView;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- myListView=(ListView) findViewById(R.id.myListView);
- ContentResolver resolver=getContentResolver();
- Cursor cursor=resolver.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
- //将Cursor交给Activity管理,这样Cursor的生命周期可以和Activity自动同步
- startManagingCursor(cursor);
- 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});
- myListView.setAdapter(adapter);
- }
- }