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 本文四个演示,循序渐进. ...
随机推荐
- 使用本函式处理后的字串会沿续到PHP程式而转入eval函数
html码放在数据库里,通过php文件调用,经过一系列处理后,用eval函数 将希望的变量带入生成所需要的动态页.这样,我就没再看vbb源码,而转入eval函数了. 星空浪子的php中文手册是这样介绍 ...
- portable runtime
APR The mission of the Apache Portable Runtime (APR) project is to create and maintain software libr ...
- 每天学点GDB 15
本节重点描述两个gdb集成测试环境 有没有办法在一边调试的时候,一边显示对应的源码呢?有没有一种工具能够将gdb集成到ide中呢,本文就试图回答这些问题. emacs gdb 在linux的世界里,e ...
- Frenetic Python实验(一)
Follow: Github-Frenetic 准备: 所有的实验,第一步都需要开启控制器,命令: $ frenetic http-controller --verbosity debug 每一个实验 ...
- BKDRhash实现
参考了一些有关于哈希算法的博客,里面都有提到BKDR哈希算法,在博客:各种字符串Hash函数中有对各种hash算法进行测试,测试关于哈希冲突,以及散列的质量,得到的结果可以参考以上博文. BKDRha ...
- jQuery 判断表单中多个 input text 中至少有一个不为空
html: 名称1:<input class="seasoning_name" type="text" name="seasoning_name ...
- 优秀而又实用的PHP工具集锦
优秀而又实用的PHP工具集锦 浏览:1141 发布日期:2013/09/04 分类:技术分享 PHP是目前实用最为广泛的服务器端开源脚本语言之一,很多优秀的开源程序都是基于PHP构建的,比如大名鼎 ...
- JS实现HTML静态页传值的方法
JS实现HTML静态页传值的方法 作者:前端开发-武方博 发布:2012-10-29 分类:javascript 阅读:8,735次 此处使用JS方式实现静态页之间值传递,其实很简单,废话不多 ...
- 设计和实现OLAP解决方案
设计和实现OLAP解决方案 第一讲 简介首先,啥叫数据仓库? 数据仓库就是数据的仓库!用外文说叫Data Warehouse,简称DW. 是不是哐当倒下一片啊,要不咱换个专业点的说法? 数据仓库是 ...
- Ruby--String
--全部转为小写:[STR].downcase --全部转为大写:[STR].upcase --仅仅首字母为大写:[STR].capitalize --每个单词首字母为大写:[STR].titleiz ...