Android  ListView 条目多样式展示实例详解

发布时间 - 2026-01-11 00:33:50    点击率:

ListView的多种样式条目展示

  • 这里给大家介绍一下简单的ListView的多种样式展示
  • 在布局文件中和往常一样写一个ListViwe的布局
 <ListView
    android:id="@+id/main_listview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

其他的这里就不多说了,直接介绍适配器里的操作

package com.bwei.test.BaseAdapter;

import java.util.List;

import com.bwei.test.R;
import com.bwei.test.bean.News;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;

import android.R.color;
import android.R.layout;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class MyBaseAdapter extends BaseAdapter {

  private Context context;
  private List<News> newlist;
  //ImageLoader
  private DisplayImageOptions Options;
  //定义样式常量,注意常量值要从0开始
  private static final int TYPE_LISTVIEW_NORMAL = 0;
  private static final int TYPE_LISTVIEW_NO_PIC = 1;

  public MyBaseAdapter(Context context, List<News> newlist,
      DisplayImageOptions options) {
    super();
    this.context = context;
    this.newlist = newlist;
    Options = options;
  }


  @Override
  public int getCount() {
    //ListView的总共条数
    return newlist.size();
  }

  @Override
  public Object getItem(int arg0) {
    // TODO Auto-generated method stub
    return null;
  }

  @Override
  public long getItemId(int arg0) {
    // TODO Auto-generated method stub
    return 0;
  }

  /*
   * 注意我们要填充的布局个数和我们要展示的样式个数一样
   * 最好一个样式一个填充布局
   * 
   * */
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    // 获取当前条目的类型
    int itemViewType = getItemViewType(position);
    ViewHolder viewHolder;
    if (convertView==null) {
      viewHolder=new ViewHolder();
      switch (itemViewType) {
      case TYPE_LISTVIEW_NORMAL:

        convertView=LayoutInflater.from(context).inflate(R.layout.title_pic, null);
        viewHolder.imageView=(ImageView) convertView.findViewById(R.id.imageView1);
        ImageLoader.getInstance().displayImage(newlist.get(position).getImgs(), viewHolder.imageView,Options);
        convertView.setTag(viewHolder);
        break;
      case TYPE_LISTVIEW_NO_PIC:
        convertView=LayoutInflater.from(context).inflate(R.layout.title, null);
        convertView.setTag(viewHolder);
        break;

      default:
        break;
      }

      viewHolder.textcopyright=(TextView) convertView.findViewById(R.id.copyright);
      viewHolder.texttime=(TextView) convertView.findViewById(R.id.data);
      viewHolder.texttitle=(TextView) convertView.findViewById(R.id.title);
  viewHolder.texttitle.setText(
      newlist.get(position).getTitle());
  viewHolder.texttime.setText(
      newlist.get(position).getPubDate());
  viewHolder.textcopyright.setText(
      newlist.get(position).getCopyright());

    } else {
      viewHolder=(ViewHolder) convertView.getTag();
      switch (itemViewType) {
      case TYPE_LISTVIEW_NORMAL:
ImageLoader.getInstance().displayImage(
       newlist.get(position).getImgs(),
             viewHolder.imageView,Options);

        break;
      case TYPE_LISTVIEW_NO_PIC:

        break;

      default:
        break;
      }
viewHolder.texttitle.setText(
      newlist.get(position).getTitle());

viewHolder.texttime.setText(
      newlist.get(position).getPubDate());
viewHolder.textcopyright.setText(
      newlist.get(position).getCopyright());
    }
    return convertView;
  }

  /**
   * 获取具体的某个索引值下的条目的条目类型
   */
  @Override
  public int getItemViewType(int position) {
    // TODO Auto-generated method stub
    //判断以什么结束的属性
    if ( newlist.get(position).getImgs().endsWith(".jpg")) {
      return TYPE_LISTVIEW_NORMAL;
    }

    return TYPE_LISTVIEW_NO_PIC;
  }

  /**
   * 获取listView条目类别的个数(样式)
   */
  @Override
  public int getViewTypeCount() {
    // TODO Auto-generated method stub
    return 2;
  }
  //容器
  class ViewHolder{

      ImageView imageView;
      TextView texttitle,textcopyright,texttime;


}


}

以上是多条目样式展示的一种

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # ListView  # 条目多样式展示  # 条目多样式展示实例详解  # Android RecyclerView实现点击条目删除  # Android自定义SwipeLayout仿QQ侧滑条目  # Android仿京东分类模块左侧分类条目效果  # Android更多条目收缩展开控件ExpandView的示例代码  # Android ListView自动生成列表条目的实例  # Android XRecyclerView实现多条目加载  # Android条目拖拽删除功能实例代码  # android RecyclerView实现条目Item拖拽排序与滑动删除  # Android中listview和imageview实现条目单选效果  # Android编程实现canvas绘制饼状统计图功能示例【自动适应条目数量与大小】  # Android中RecyclerView上拉下拉  # 分割线  # 多条目的实例代码  # Android 中 SwipeLayout一个展示条目底层菜单的侧滑控件源码解析  # 详解Android中实现ListView左右滑动删除条目的方法  # Android实现下拉展示条目效果  # 说了  # 不多  # 其他的  # 希望能  # 给大家  # 谢谢大家  # 介绍一下  # 多条  # 往常  # 条数  # 以什么  # content  # Context  # layout  # color  # News  # bean  # universalimageloader  # ImageLoader  # DisplayImageOptions 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  装修招标网站设计制作流程,装修招标流程?  如何在建站之星网店版论坛获取技术支持?  如何基于PHP生成高效IDC网络公司建站源码?  详解jQuery中基本的动画方法  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  如何在新浪SAE免费搭建个人博客?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  html5的keygen标签为什么废弃_替代方案说明【解答】  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel如何处理CORS跨域请求?(配置示例)  Python3.6正式版新特性预览  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  大连网站制作公司哪家好一点,大连买房网站哪个好?  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  如何在VPS电脑上快速搭建网站?  如何在Tomcat中配置并部署网站项目?  Laravel如何创建自定义Artisan命令?(代码示例)  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  企业网站制作这些问题要关注  郑州企业网站制作公司,郑州招聘网站有哪些?  HTML 中如何正确使用模板变量为元素的 name 属性赋值  焦点电影公司作品,电影焦点结局是什么?  如何在阿里云ECS服务器部署织梦CMS网站?  如何用西部建站助手快速创建专业网站?  详解Oracle修改字段类型方法总结  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  网站制作报价单模板图片,小松挖机官方网站报价?  如何挑选高效建站主机与优质域名?  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  jquery插件bootstrapValidator表单验证详解  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Android GridView 滑动条设置一直显示状态(推荐)  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  javascript中的try catch异常捕获机制用法分析