Listview多条目展示
//---------------主要是适配器里面-------------------------------------
package com.bwie.test.adapter;
import java.net.ContentHandler;
import java.util.List;
import com.bwie.test.R;
import com.bwie.test.bean.News;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class MyAdapter extends BaseAdapter{
private List<News> news;
private Context context;
//定义样式常量,注意常量值要从0开始
private static final int TYPE_LISTVIEW_NORMAL = 0;//有图片
private static final int TYPE_LISTVIEW_NO_PIC = 1;//无图片
public MyAdapter(List<News> news, Context context) {
super();
this.news = news;
this.context = context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return news.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return news.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
/**
* 获取listView条目类别的个数(样式)
*/
@Override
public int getViewTypeCount() {
return 2;
}
/**
* 获取具体的某个索引值下的条目的条目类型
*/
@Override
public int getItemViewType(int position) {
// TODO Auto-generated method stub
//判断以什么结束的属性
if ( news.get(position).getIMAGEURL().endsWith(".jpg")) {
return TYPE_LISTVIEW_NORMAL;
}
return TYPE_LISTVIEW_NO_PIC;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// 获取当前条目的类型
int itemViewType = getItemViewType(position);
ViewHolder holder;
News newss=news.get(position);
if (convertView==null) {
holder=new ViewHolder();
switch (itemViewType) {
case TYPE_LISTVIEW_NORMAL:
convertView=View.inflate(context, R.layout.list_item1, null);
holder.iv=(ImageView) convertView.findViewById(R.id.iv);
convertView.setTag(holder);
break;
case TYPE_LISTVIEW_NO_PIC:
convertView=View.inflate(context, R.layout.list_item, null);
convertView.setTag(holder);
break;
default:
break;
}
holder.TITLE=(TextView) convertView.findViewById(R.id.tv_TITLE);
holder.SUBTITLE=(TextView) convertView.findViewById(R.id.tv_SUBTITLE);
holder.FROMNAME=(TextView) convertView.findViewById(R.id.tv_FROMNAME);
holder.SHOWTIME=(TextView) convertView.findViewById(R.id.tv_SHOWTIME);
}else{
holder=(ViewHolder) convertView.getTag();
switch (itemViewType) {
case TYPE_LISTVIEW_NORMAL:
ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(context));
DisplayImageOptions options=new DisplayImageOptions.Builder().cacheInMemory(true).cacheOnDisk(true).build();
ImageLoader.getInstance().displayImage(newss.getIMAGEURL(), holder.iv, options);
break;
case TYPE_LISTVIEW_NO_PIC:
break;
default:
break;
}
}
holder.TITLE.setText(newss.getTITLE());
holder.SUBTITLE.setText(newss.getSUBTITLE());
holder.FROMNAME.setText(newss.getFROMNAME());
holder.SHOWTIME.setText(newss.getSHOWTIME());
return convertView;
}
static class ViewHolder{
public TextView TITLE;
public TextView SUBTITLE;
public TextView FROMNAME;
public TextView SHOWTIME;
public ImageView iv;
}
}
//--------------第一个Listview条目没有图片------------------------
<?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:orientation="vertical" >
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:id="@+id/tv_TITLE"/>
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/tv_SUBTITLE"/>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_FROMNAME"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_SHOWTIME"
android:layout_marginLeft="20dp"/>
</LinearLayout>
</LinearLayout>
//-----------------有图片的Listview布局----------------------------------
<?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:orientation="vertical" >
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView android:layout_width="80dp"
android:layout_height="80dp"
android:scaleType="fitXY"
android:id="@+id/iv"/>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:id="@+id/tv_TITLE"/>
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/tv_SUBTITLE"/>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_FROMNAME"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_SHOWTIME"
android:layout_marginLeft="20dp"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
Listview多条目展示的更多相关文章
- Windows程序==>>使用ListView控件展示数据
使用ListView控件展示数据 01.ImageList控件 1.了解了解 属性 说明 Images 储存在图像列表中的所有图像 ImageSize 图像列表中图像的大小 Trans ...
- ListView的条目点击焦点的问题
由于ListView条目里有ImageButton,导致抢占了条目点击事件,所以在item的跟布局中加入 android:descendantFocusability="blocksDesc ...
- listview去掉条目间的分割线
未去掉前: 去掉后: java代码可以这么写: 1 listView.setDivider(null);//去掉条目间的分割线 PS:ListView的几个常用操作 listView ...
- listview设置条目点击的时候不变色(让状态选择器不起作用)
未设置前的效果如下图: 很明显,“酷狗音乐”那个条目被点击的时候,条目背景变为蓝色,怎么去掉这个颜色呢? java代码可以这么写: listView.setSelector(new ColorDraw ...
- React-Native基础_5.列表视图ListView 网络数据展示
//获取网络数据 并用列表展示 豆瓣Top250 api /** * Sample React Native App * https://github.com/facebook/react-nativ ...
- 使用ListView控件展示数据
属性名称 说明items 指定显示那种视图View 指定显示那种视图largelmagelist 大图标图像的imagelist控件SmallLmagelist 小图标图像的imag ...
- WinForm 之 使用ListView控件展示数据
在学习了这么多的WinForm基本控件后,今天在来学习一个比较有意思的包含图片的控件! >>>图像列表控件 ImageList是含有图像对象的集合,可以通过索引或关键字引用该集合中的 ...
- Listview的条目item内的点击响应事件
还是这张图 这里的历史列表就是一个ListView,抛开该界面中ScrollView或者RecycleView与该ListView会有冲突,所谓的冲突,说白了就是父控件与子控件两者间的关系冲突,该冲突 ...
- 实现listview的条目点击后改变背景颜色
gv_categoryeffect_gridview.setChoiceMode(GridView.CHOICE_MODE_SINGLE);,再设置一个selector的背景选择器 getResour ...
随机推荐
- Lua手册中的string.len 不解
Lua手册中的string.len (s) 接收一个字符串,返回其长度. 空串 "" 的长度为 0 . 内嵌零也统计在内,因此 "a\000bc\000" 的长 ...
- Openjudge-计算概论(A)-DNA排序
描述: 给出一系列基因序列,由A,C,G,T四种字符组成.对于每一个序列,定义其逆序对如下: 序列中任意一对字符X和Y,若Y在X的右边(不一定相邻)且Y < X,则称X和Y为一个逆序对. 例如G ...
- C++primer第三章标准库类型
除第二章介绍的基本数据类型外,C++ 还定义了一个内容丰富的抽象数据类型标准库. 本章将介绍标准库中的 vector.string 和 bitset 类型. string 类型支持长度可变的字符串 v ...
- javascript: 常用操作
1,取得输入框的输入值,修改输入框的输入值 根据id获取id的值 jquery代码: $('#version_number').val(); 解释:$是jQuery的标准用法,('#version_n ...
- 基于 twemproxy 搭建 redis 集群
概述 由于单台redis服务器的内存管理能力有限,使用过大内存redis服务器的性能急剧下降,且服务器发生故障将直接影响大面积业务.为了获取更好的缓存性能及扩展型,我们将需要搭建redis集群来满足需 ...
- li浮动时ul高度为0,解决ul自适应高度的几种方法
网址:http://www.gxchina.com/edu/11208.html 1.给ul元素设置高度height最直接的办法是给ul元素设置一个高度,即ul标签添加height属性,代码如下: u ...
- app测试--稳定性测试
稳定性测试的概念有2种, 一, 稳定性测试,对应于异常性测试,即发生异常情况时,系统如何反应的测试.包含: 1 交互性测试,被打扰的情况,如来电,短信,低电量等.这些其实在上章的功能测试中有提到. 2 ...
- 错误提示 Unsupported compiler 'com.apple.compilers.llvmgcc42' selected for architecture 'i386'
转自http://blog.csdn.net/cyuyanenen/article/details/51444974 警告提示:Invalid C/C++ compiler in target Cor ...
- python_变量的命名规则
python 变量的命名规则: 1. 要具有描述性 2.变量名只能由 数字,字母 ,下划线 组成,不可以是空格或者特殊字符(#!%……&) 3.不能以数字开头 4.保留字符不可用(print ...
- HDU3371--Connect the Cities(最小生成树)
Problem Description In 2100, since the sea level rise, most of the cities disappear. Though some sur ...