Android 开发ListView学习总结
来源:互联网 发布:淘宝分期付款额度 编辑:程序博客网 时间:2024/04/29 12:17
ListView
简单来说就是在一个页面上以列表形式显示数据,列表里有很多项item,其中item里边可以有单纯的文字,也可以图文结合。
(1)首先要有数据源来填充到item中
(2)ListAdapter数据适配器将数据源与listView对应起来
一:创建数据源
数据源Route类,可以自动生成其get()、set()、构造方法。
public class Route {String time;String startPoint;String terminalPoint;String state;long orderId;public Route(String time, String startPoint, String terminalPoint, String state) {super();this.time = time;this.startPoint = startPoint;this.terminalPoint = terminalPoint;this.state = state;}public String getTime() {return time;}public void setTime(String time) {this.time = time;}public String getStartPoint() {return startPoint;}public void setStartPoint(String startPoint) {this.startPoint = startPoint;}public String getTerminalPoint() {return terminalPoint;}public void setTerminalPoint(String terminalPoint) {this.terminalPoint = terminalPoint;}public String getState() {return state;}public void setState(String state) {this.state = state;}public long getOrderId() {return orderId;}public void setOrderId(long orderId) {this.orderId = orderId;}}
二:代码中使用步骤
首先建立当前页面的layout,添加listView组件activity_order_list:
<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:background="@color/white" android:orientation="vertical" > <TextView android:id="@+id/title" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:text="我的行程" android:textColor="#ffffff" android:textSize="20sp" /> <ListView android:id="@+id/routeListView" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" > </ListView></LinearLayout>设置listView 中数据的View(也就是item项):效果图如下
order_list_item:
在代码中进行设置<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/select_item" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="@drawable/divide" android:orientation="vertical" android:showDividers="end" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="10dp" > </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:id="@+id/orderTime" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:paddingLeft="8dp" android:text="Text1" android:textColor="@color/noteColr" /> <TextView android:id="@+id/state" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:paddingLeft="8dp" android:text="Text1" android:textColor="@color/noteColr" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="8dp" > </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="25dp" android:orientation="horizontal" > <ImageView android:layout_width="20dp" android:layout_height="20dp" android:paddingLeft="8dp" android:src="@drawable/start" /> <TextView android:id="@+id/startPoint" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:paddingLeft="8dp" android:text="起点" android:textColor="@color/textColor" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="8dp" > </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="25dp" android:orientation="horizontal" > <ImageView android:layout_width="20dp" android:layout_height="20dp" android:paddingLeft="8dp" android:src="@drawable/end" /> <TextView android:id="@+id/terminalPoint" android:layout_width="wrap_content" android:layout_height="match_parent" android:paddingLeft="8dp" android:text="终点" android:textColor="@color/textColor" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="10dp" > </LinearLayout> </LinearLayout> </LinearLayout> </LinearLayout></LinearLayout>初始化:
List<Route> routeList; //添加数据
onCreate()里边:
routeList = new ArrayList<Route>(); //初始化listView适配器
routeListView.setAdapter(new ListAdapter());
class ListAdapter extends BaseAdapter {SparseArray<View> array;public ListAdapter() {array = new SparseArray<View>();}@Overridepublic int getCount() {// 集中数据的个数return routeList.size();}@Overridepublic Object getItem(int position) {// 获取数据集中与与制定数据对应的索引项return routeList.get(position);}@Overridepublic long getItemId(int position) {// 指定行对应的idreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup arg2) {// 获取每个Item的显示内容convertView = array.get(position);if (convertView == null) {convertView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.order_list_item, null);TextView orderTime = (TextView) convertView.findViewById(R.id.orderTime);TextView startPoint = (TextView) convertView.findViewById(R.id.startPoint);TextView terminalPoint = (TextView) convertView.findViewById(R.id.terminalPoint);TextView orderState = (TextView) convertView.findViewById(R.id.state);Route route = routeList.get(position);orderTime.setText(routeList.get(position).getTime());startPoint.setText(routeList.get(position).getStartPoint());terminalPoint.setText(routeList.get(position).getTerminalPoint());orderState.setText(routeList.get(position).getState());convertView.setTag(routeList.get(position));}return convertView;}}
为listView添加数据:/** * 设置listView数据 */private void setData() {// TODO Auto-generated method stubfor (int i = 0; i < 20; i++) {routelist.add(new Route("2017-7-8","合肥站","之心城","已完成"));}routeListView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {// TODO Auto-generated method stub}});}
阅读全文
1 0
- Android 开发ListView学习总结
- Android ListView学习总结
- Android-ListView 学习总结
- Android开发之listview总结
- android开发:自定义ListView总结
- android学习之ListView总结
- android学习之ListView总结
- Android开发学习之 ListView
- 【Android 开发教程】ListView的总结范例
- Android开发ListView控件使用总结。
- android开发中几种关于ListView用法总结
- Android开发学习笔记:浅谈ListView
- android开发学习篇之ListView详解
- ListView -- MarsChen Android 开发教程学习笔记
- Android开发学习笔记十 ListView
- Android开发学习(7)ListView
- ListView开发总结笔记
- (Android开发)学习博客总结
- 微信公众号相关的设置
- 2017.07.05回顾
- Fontawesome字体使用说明及其常用效果语法
- eclipse-tomcat部署maven项目方式之四
- OpenGL ES Android 基础(一)
- Android 开发ListView学习总结
- typeof的缺点以及解决方式
- unity学习日记:关于协同程序Coroutine
- PAT (Advanced Level) Practise 1081 Rational Sum(20)
- bzoj3505 组合数
- geckodriver下载 -- Selenium Firefox 驱动
- eclipse-tomcatplugin部署maven项目方式五
- 天啦噜:测试环境OK,发布到公网跑不了?!!!
- JPMML解析Random Forest模型并使用其预测分析