xlistview的判断
来源:互联网 发布:java环境搭建教程 编辑:程序博客网 时间:2024/06/05 15:17
public class NewsAdapter extends BaseAdapter {
Context context;
List<NewsDataBean.DataBean> list;
private final int TYPE_VIDEO = 0;
private final int TYPE_IMAGE_THREEE = 1;
private final int TYPE_IMAGE_ONE = 2;
private final int TYPE_NORMAL = 3;
public NewsAdapter(Context context, List<NewsDataBean.DataBean> list) {
this.context= context;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return list.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
/**
* 获取视图类型的数量...也就是有多少种条目类型
*
* @return
*/
@Override
public int getViewTypeCount() {
return 4;
}
/**
* 返回当前位置条目视图的类型....返回值是int值
*
* @param position ...当前位置
* @return
*/
@Override
public int getItemViewType(int position) {
//根据数据中的内容进行判断,...当前位置显示的是什么内容
if (list.get(position).isHas_video()){
//当前的条目时视频
return TYPE_VIDEO;
}else if (list.get(position).isHas_image()){
if (list.get(position).getImage_list().size()>=3){
//三张图片的样式
return TYPE_IMAGE_THREEE;
}else { r
return TYPE_IMAGE_ONE;
}
}
//否则就是普通的条目
return TYPE_NORMAL;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
//在写之前先判断一下当前属于哪种条目的类型
if (getItemViewType(i) == TYPE_VIDEO){
VideoHolder holder;
if (view == null){
view = View.inflate(context,R.layout.item_video,null);
holder = new VideoHolder();
holder.text_title = view.findViewById(R.id.text_title);
//holder
view.setTag(holder);
}else {
holder = (VideoHolder) view.getTag();
}
holder.text_title.setText(list.get(i).getTitle());
//...图片采用默认
}else if (getItemViewType(i) == TYPE_IMAGE_THREEE){
ImageThreeHolder holder;
if (view == null){
view = View.inflate(context,R.layout.item_three_image,null);
holder = new ImageThreeHolder();
holder.text_title = view.findViewById(R.id.text_title);
view.setTag(holder);
}else {
holder = (ImageThreeHolder) view.getTag();
}
holder.text_title.setText(list.get(i).getTitle());
}else if (getItemViewType(i) == TYPE_IMAGE_ONE){//一张图片的条目
ImageOneHolder holder;
if (view == null){
view = View.inflate(context,R.layout.item_image_one,null);
holder = new ImageOneHolder();
holder.text_title = view.findViewById(R.id.text_title);
view.setTag(holder);
}else {
holder = (ImageOneHolder) view.getTag();
}
holder.text_title.setText(list.get(i).getTitle());
}else {
//显示的是普通的条目
NormalHolder holder;
if (view == null){
view = View.inflate(context,R.layout.item_normal,null);
holder = new NormalHolder();
holder.text_title = view.findViewById(R.id.text_title);
view.setTag(holder);
}else {
holder = (NormalHolder) view.getTag();
}
holder.text_title.setText(list.get(i).getTitle());
}
return view;
}
Context context;
List<NewsDataBean.DataBean> list;
private final int TYPE_VIDEO = 0;
private final int TYPE_IMAGE_THREEE = 1;
private final int TYPE_IMAGE_ONE = 2;
private final int TYPE_NORMAL = 3;
public NewsAdapter(Context context, List<NewsDataBean.DataBean> list) {
this.context= context;
this.list = list;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int i) {
return list.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
/**
* 获取视图类型的数量...也就是有多少种条目类型
*
* @return
*/
@Override
public int getViewTypeCount() {
return 4;
}
/**
* 返回当前位置条目视图的类型....返回值是int值
*
* @param position ...当前位置
* @return
*/
@Override
public int getItemViewType(int position) {
//根据数据中的内容进行判断,...当前位置显示的是什么内容
if (list.get(position).isHas_video()){
//当前的条目时视频
return TYPE_VIDEO;
}else if (list.get(position).isHas_image()){
if (list.get(position).getImage_list().size()>=3){
//三张图片的样式
return TYPE_IMAGE_THREEE;
}else { r
return TYPE_IMAGE_ONE;
}
}
//否则就是普通的条目
return TYPE_NORMAL;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
//在写之前先判断一下当前属于哪种条目的类型
if (getItemViewType(i) == TYPE_VIDEO){
VideoHolder holder;
if (view == null){
view = View.inflate(context,R.layout.item_video,null);
holder = new VideoHolder();
holder.text_title = view.findViewById(R.id.text_title);
//holder
view.setTag(holder);
}else {
holder = (VideoHolder) view.getTag();
}
holder.text_title.setText(list.get(i).getTitle());
//...图片采用默认
}else if (getItemViewType(i) == TYPE_IMAGE_THREEE){
ImageThreeHolder holder;
if (view == null){
view = View.inflate(context,R.layout.item_three_image,null);
holder = new ImageThreeHolder();
holder.text_title = view.findViewById(R.id.text_title);
view.setTag(holder);
}else {
holder = (ImageThreeHolder) view.getTag();
}
holder.text_title.setText(list.get(i).getTitle());
}else if (getItemViewType(i) == TYPE_IMAGE_ONE){//一张图片的条目
ImageOneHolder holder;
if (view == null){
view = View.inflate(context,R.layout.item_image_one,null);
holder = new ImageOneHolder();
holder.text_title = view.findViewById(R.id.text_title);
view.setTag(holder);
}else {
holder = (ImageOneHolder) view.getTag();
}
holder.text_title.setText(list.get(i).getTitle());
}else {
//显示的是普通的条目
NormalHolder holder;
if (view == null){
view = View.inflate(context,R.layout.item_normal,null);
holder = new NormalHolder();
holder.text_title = view.findViewById(R.id.text_title);
view.setTag(holder);
}else {
holder = (NormalHolder) view.getTag();
}
holder.text_title.setText(list.get(i).getTitle());
}
return view;
}
阅读全文
0 0
- xlistview的判断
- 权限,网络请求,判断,XlistVIew的依赖
- xListView(联网判断)
- 联网判断与Xlistview展示
- xlistview的使用
- xListView的使用步骤
- Xlistview的滚动控制
- xlistview用到的方法
- xlistview的写法
- XLIstView的使用
- XListView 的配置
- XlistView的使用方法
- XListView的布局
- XlistView的使用
- XListView的使用
- XListView的使用方法
- XListView的使用方法
- XListView的简单Demo
- Gym
- python字典保持有序
- xmc4300 ethercat 学习之路
- 区块链风暴来袭,这五大行业将受到强烈冲击
- 每日区块链:Raiden发布新产品:以太坊测试网将出现更简单的微支付;澳大利亚证券投资委员会也许运行区块链监管节点
- xlistview的判断
- Java简单类、变量详解(概念和分类、声明、命名、初始化)
- C printf无法输出问题
- 微信公众号开发常用函数,get,post方式提交请求数据-微信开发教程11
- 小BUG解决PagerAdapter
- 针对piix4_smbus ****host smbus controller not enabled的解决方法
- 576. Out of Boundary Paths
- 关于公众平台接口不再支持HTTP方式调用的公告
- 查询测试点