Android 中的ListVIew
来源:互联网 发布:万能搬家软件下载 编辑:程序博客网 时间:2024/06/04 01:10
列表的显示需要三个元素:
1.ListVeiw 用来展示列表的View。
2.适配器 用来把数据映射到ListView上的中介。
3.数据 具体的将被映射的字符串,图片,或者基本组件。
根据列表的适配器类型,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter
其中以ArrayAdapter最为简单,只能展示一行字。SimpleAdapter有最好的扩充性,可以自定义出各种效果。SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方面的把数据库的内容以列表的形式展示出来。
简单的ArrayAdapter代码
package com.example.listview;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemLongClickListener;import android.widget.ArrayAdapter;import android.widget.CheckedTextView;import android.widget.ListView;import android.widget.Toast;public class ListViewActivity extends Activity {private ListView listView;private List<String> data = new ArrayList<String>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_list_view);listView = (ListView) findViewById(R.id.listview);data.add("北京");data.add("上海");data.add("青岛");data.add("武汉");data.add("南京");data.add("杭州");ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_multiple_choice, data);listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);listView.setAdapter(adapter);listView.setOnItemLongClickListener(new OnItemLongClickListener() {@Overridepublic boolean onItemLongClick(AdapterView<?> parent, View view,int position, long id) {CheckedTextView textView = (CheckedTextView) view; Toast.makeText(ListViewActivity.this, textView.getText().toString(), 1).show();return true;}});}}
SimpleAdapter 代码
package com.example.simplelistview;import java.util.List;import java.util.Map;import android.app.Activity;import android.os.Bundle;import android.widget.ListView;import android.widget.SimpleAdapter;public class MainActivity extends Activity {private ListView listView;private List<Map<String, Object>> listItem ;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);listItem = MyData.getData();listView = (ListView) findViewById(R.id.listview);SimpleAdapter adapter = new SimpleAdapter(MainActivity.this, listItem,R.layout.list_items, new String[] {"pname","ptype" ,"price"},new int[] {R.id.name, R.id.type ,R.id.price});listView.setAdapter(adapter);}}
package com.example.simplelistview;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class MyData { public static List<Map<String, Object>> getData(){ ArrayList<Map<String, Object>> data = new ArrayList<Map<String, Object>>(); Map map1 = new HashMap(); map1.put("pname", "海信"); map1.put("ptype", "家电"); map1.put("price", "4000"); Map map2 = new HashMap(); map2.put("pname", "华为"); map2.put("ptype", "手机"); map2.put("price", "1000"); Map map3 = new HashMap(); map3.put("pname", "Iphone"); map3.put("ptype", "Pad"); map3.put("price", "4000"); data.add(map1); data.add(map2); data.add(map3); return data; }}
布局文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <TextView android:id="@+id/name" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="TextView01" android:textSize="20dip" /> <TextView android:id="@+id/type" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/ItemTitle" android:layout_weight="1" android:text="TextView02" /> <TextView android:id="@+id/price" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/ItemTitle1" android:layout_weight="1" android:text="TextView03" /></LinearLayout>
0 0
- 【Android】Android中的ListView
- android中的Section ListView
- Android中的列表ListView
- android listview中的adapter
- Android 中的ListVIew
- android中的Section ListView
- Android中的ListView
- android中的ListView总结
- android中的Section ListView
- Android 中的 ListView
- Android中的listview
- android中的Section ListView
- Android ScrollView中的ListView
- Android中的列表ListView
- Android中的ListView使用
- android中的ListView控件
- android中的ListView的优化
- android中的ListView的优化
- ListPopupWindow
- MAC系统使用教程,从零到高手使用进阶教程!必备增强软
- zxing源码分析——QR码部分
- js节点属性及使用说明
- A general iterated shinkage algorithm for non-convex sparse coding.
- Android 中的ListVIew
- 【JAVA资料免费下载】158个JAVA免豆精品资料汇总
- 使用NSThread创建线程
- 费氏搜寻法之算法分析与实现
- boost使用(六)
- XMPP高级编程---使用Jquery和Javascript学习笔记
- PHP中::、->、self、$this操作符的区别
- linux遇到的问题汇总记录
- 英雄会编程挑战之回文数