Android --ListView使用ArrayAdapter
1、继承ArrayAdapter
public class TimerDataAdapter extends ArrayAdapter<TimerDataListItem> { //数据ID int dataResourceID = 0; //内容 private Context mContext; //数据列表 private List<TimerDataListItem> mtimerDataList; private TextView area = null; private TextView dev = null; private TextView val = null; private TextView limit = null; private TextView updatetime = null; //构造函数 public TimerDataAdapter(Context context, int dataResourceId,List<TimerDataListItem> timerDataList) { super(context, dataResourceId,timerDataList); this.dataResourceID = dataResourceId; this.mContext = context; this.mtimerDataList = timerDataList; } @Override public int getCount() { return mtimerDataList.size(); } @Override public TimerDataListItem getItem(int position) { return mtimerDataList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { TimerDataListItem item = getItem(position); if(item != null) { if (convertView == null) { convertView = LayoutInflater.from(mContext).inflate( dataResourceID, null); area = (TextView) convertView.findViewById(R.id.array_area); dev = (TextView) convertView.findViewById(R.id.array_dev); val = (TextView) convertView.findViewById(R.id.array_data); limit = (TextView) convertView.findViewById(R.id.array_limit); updatetime = (TextView) convertView.findViewById(R.id.array_updatetime); } area.setText(item.getArea()); dev.setText(item.getDev()); val.setText(item.getVal()); limit.setText(item.getlimit()); updatetime.setText(item.getUpdatetime()); int status = item.getStatus(); if (status == 0) { val.setBackgroundColor(0xFF156BCC);//0代表正常 } else if (status == 1) { val.setBackgroundColor(0xFFFE3044);//1代表不正常 } else { val.setBackgroundColor(0xFFF2EC10);//2代表超时数值 } } return convertView; } }
2、Fragment中设置Adapter
mAdapter = new TimerDataAdapter(this.getActivity() ,R.layout.fragment_timerdata_list_item,mtimerDataList);
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { //实例化fragment布局。动态的有grid和list俩种 View view = inflater.inflate(R.layout.fragment_timerdata_list, container, false); View headerView = inflater.inflate(R.layout.fragment_timerdata_list_header, null); mListView = (ListView) view.findViewById(android.R.id.list); mListView.addHeaderView(headerView); // Set the adapter mListView.setAdapter(mAdapter); mswipeLayout =(SwipeRefreshLayout)view.findViewById(R.id.id_swipe_ly); mswipeLayout.setOnRefreshListener(this); mswipeLayout.setColorSchemeResources(android.R.color.holo_blue_light, android.R.color.holo_blue_light, android.R.color.holo_blue_light, android.R.color.holo_blue_light); return view; }
3、使用swiperefreshlayout 下拉刷新
布局
<android.support.v4.widget.SwipeRefreshLayout android:id="@+id/id_swipe_ly" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:drawSelectorOnTop="false" android:fastScrollEnabled="true"/> <!--<TextView android:id="@android:id/empty" --> <!--android:layout_width="match_parent"--> <!--android:layout_height="match_parent" --> <!--android:gravity="center" />--> </android.support.v4.widget.SwipeRefreshLayout>
刷新
@Override public void onRefresh() { mHandler.sendEmptyMessageDelayed(0, 2000); } private Handler mHandler = new Handler() { public void handleMessage(android.os.Message msg) { getTimerData(); mAdapter.notifyDataSetChanged(); mswipeLayout.setRefreshing(false); } };
4、空指针异常 java.lang.NullPointerException
Adapter中getView内声明控件变量有关,出现刷新Adapter错误
Android --ListView使用ArrayAdapter的更多相关文章
- Android -- ListView与ArrayAdapter、SimpleAdapter
对于ArrayAdapter,里面虽然能添加图片,但只能是相同的图片. 废话不多说: 布局&&list的item布局 ...
- Android ListView ArrayAdapter 的简单使用
前面写了3篇关于android的文章,其中的演示程序都写在了一个工程中,当时为了方便测试就在启动页MainActivity中放了3个按钮,点击不同的按钮进入不同的示例程序页面,MainActivity ...
- 42.Android之ListView中ArrayAdapter简单学习
今天学习下Android中ListView关于ArrayAdapter数据绑定, 废话少说直接上代码. 改下布局文件: <?xml version="1.0" encodin ...
- Android新手入门2016(8)--ListView之ArrayAdapter
本文来自肥宝传说之路,引用必须注明出处! ListView是Android中经常使用的控件. 什么是列表视图,让我们先看看图: watermark/2/text/aHR0cDovL2Jsb2cuY3N ...
- Android listview与adapter用法
listview与adapter用法 博客分类: android 一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView ...
- 第28讲 UI组件之 ListView和ArrayAdapter
第28讲 UI组件之 ListView和ArrayAdapter 1. Adapter 适配器 Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带.在常见的 ...
- Android Listview切换动画,扩展到任意view切换之间动画实现
添加布局如下: <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2010 ...
- Android 演示 Android ListView 和 github XListView(3-3)
本文内容 环境 项目结构 演示 1:简单 XListView 演示 2:XListView + Fragment 演示 3:XListView + ViewPager + Fragment 本文三个演 ...
- Android 演示 Android ListView 和 github XListView(1-3)
本文内容 环境 项目结构 演示 1:ListView 演示 2:简单 XListView 演示 3:音乐列表 XListView 演示 4:另一个音乐列表 XListView 本文四个演示,循序渐进. ...
随机推荐
- java 从args[]中赋值和程序直接赋值不一样?
System.out.println("对应的中文: " + decodeUnicode(args[0])); 赋值args[0] = “\u7b80\u4ecb” System. ...
- Excel 中单元格和范围的引用(即访问的表示方法)
计算机中,无非是数据和数据的处理这两件事.Excel的工作表能存储大量数据,除了这些原始数据,我们还要用函数来处理这些数据,比如求和求积,求平均值,排序等等,并把处理结果也存在单元格里.在Excel中 ...
- Ubuntu安装Flash
第一步:打开视频网站,随意点击一个视频,会提示需要先安装Flash,点击它所提供的链接. 第二步:根据系统选择合适的版本进行下载,有红帽的yum版本,我选择的是tar.gz for other Lin ...
- caca393刷PTP教程
http://www.chickenclix.com/ 让大家等急了,最近真是很忙,对不住了:)好了闲话少说开始讲正题,再说可能有人要拍砖了............我们就以http://www ...
- 本田--CRV
名称:CR-V 类型:紧凑型SUV 排量:2L/2.4L 变速箱:CVT无级变速 价格:18-25W 品牌:本田 生产:东风本田 历史:1995年第一代 外观特点:没啥特点= =空间算大的
- 20145317彭垚 《Java程序设计》第7周学习总结
20145317彭垚 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1.1 时间的度量·即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Uni ...
- 如何解决php 生成验证码图片不显示问题
最近遇到一个问题,就是验证码在别人的电脑上可以显示,但是我自己的电脑上去不能.原因找了好久,哈哈,终于找到了!现在给大家分享一下: 程序: <?php $w = 80; //设置图片宽和高 $h ...
- Introducing the Accelerated Mobile Pages Project, for a faster, open mobile web
https://googleblog.blogspot.com/2015/10/introducing-accelerated-mobile-pages.html October 7, 2015 Sm ...
- mysql-insert-返回主键id
function gen_this_insert_id($insert) { GLOBAL $link; $insert .= ' SELECT LAST_INSERT_ID();'; if (mys ...
- 【转】设计模式(十一)代理模式Proxy(结构型)
设计模式(十一)代理模式Proxy(结构型) 1.概述 因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要此对象, 你曾有过延迟创建对象的想法吗 ( if和else就是不同的两条逻辑路径) ...