iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android中BaseAdapter用法示例
  • 531
分享到

Android中BaseAdapter用法示例

示例baseadapterAndroid 2022-06-06 07:06:35 531人浏览 安东尼
摘要

本文实例讲述了Android中BaseAdapter用法。分享给大家供大家参考,具体如下: 概述: BaseAdapter就Android应用程序中经常用到的基础数据适配器,它

本文实例讲述了Android中BaseAdapter用法。分享给大家供大家参考,具体如下:

概述:

BaseAdapter就Android应用程序中经常用到的基础数据适配器,它的主要用途是将一组数据传到像ListView、Spinner、Gallery及GridView等UI显示组件,它是继承自接口类Adapter

BaseAdapter

Java代码:


public class RecentAdapter extends BaseAdapter {
  private class RecentViewHolder {
    TextView appName;
    ImageView appIcon;
    TextView appSize;
  }
  private List<ResolveInfo> mAppList;
  private LayoutInflater mInflater;
  private PackageManager pm;
  public RecentAdapter(Context c, List<ResolveInfo> appList,
      PackageManager pm) {
    mAppList = appList;
    this.pm = pm;
    mInflater = (LayoutInflater) c
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  }
  public void clear(){
    if(mAppList!=null){
      mAppList.clear();
    }
  }
  public int getCount() {
    return mAppList.size();
  }
  @Override
  public Object getItem(int position) {
    return mAppList.get(position);
  }
  @Override
  public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
  }
  public View getView(int position, View convertView, ViewGroup parent) {
    RecentViewHolder holder;
    if (convertView == null) {
      convertView = mInflater.inflate(R.layout.app_info_item, null);
      holder = new RecentViewHolder();
      holder.appName = (TextView) convertView.findViewById(R.id.app_name);
      holder.appIcon = (ImageView) convertView
          .findViewById(R.id.app_icon);
      holder.appSize = (TextView) convertView.findViewById(R.id.app_size);
      convertView.setTag(holder);
    } else {
      holder = (RecentViewHolder) convertView.getTag();
    }
    ResolveInfo appInfo = mAppList.get(position);
    if (appInfo != null) {
      String labelName = appInfo.loadLabel(pm).toString();
      if (labelName != null) {
        holder.appName.setText(labelName);
      }
      Drawable icon = appInfo.loadIcon(pm);
      if (icon != null) {
        holder.appIcon.setImageDrawable(icon);
      }
    }
    return convertView;
  }
  public void remove(int position){
    mAppList.remove(position);
    this.notifyDataSetChanged();
  }
}

其中两个注意点为:

setTag 用View设置存储数据

notifyDataSetChanged() 告诉View数据更改并刷新

View convertView = mInflater.inflate(R.layout.app_info_item, null)  加载XML Item 视图

app_info_item.xml文件示例:

xml代码:


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="Http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent" android:layout_height="wrap_content"
  android:layout_gravity="center_vertical" android:minHeight="?android:attr/listPreferredItemHeight">
  <ImageView android:id="@+id/app_icon" android:layout_width="@android:dimen/app_icon_size"
    android:layout_height="@android:dimen/app_icon_size"
    android:layout_alignParentLeft="true" android:paddingLeft="6dip"
    android:paddingTop="6dip" android:paddingBottom="6dip"
    android:scaleType="fitCenter" />
  <TextView android:id="@+id/app_name" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="?android:attr/textColorPrimary"
    android:layout_toRightOf="@id/app_icon" android:paddingLeft="6dip"
    android:paddingTop="6dip" />
  <TextView android:id="@+id/app_description"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:layout_below="@+id/app_name" android:layout_toRightOf="@id/app_icon"
    android:paddingLeft="6dip" android:paddingBottom="6dip" />
  <TextView android:id="@+id/app_size" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall"
    android:layout_alignParentRight="true" android:layout_below="@+id/app_name"
    android:paddingRight="6dip" android:maxLines="1" />
</RelativeLayout>

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android视图View技巧总结》、《Android操作sqlite数据库技巧总结》、《Android操作JSON格式数据技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》及《Android资源操作技巧汇总》

希望本文所述对大家Android程序设计有所帮助。

您可能感兴趣的文章:Android自定义viewgroup 使用adapter适配数据(6)Android中 自定义数据绑定适配器BaseAdapter的方法Android自定义Adapter的ListView的思路及代码android开发中ListView与Adapter使用要点介绍举例讲解Android应用中SimpleAdapter简单适配器的使用详解Android App中ViewPager使用PagerAdapter的方法Android控件系列之相册Gallery&Adapter适配器入门&控件缩放动画入门Android中的Adapter简单介绍Android开发中ListView自定义adapter的封装Android listview与adapter详解及实例代码Adapter模式实战之重构鸿洋集团的Android圆形菜单建行Android Adapter的几个常用方法Android编程实现在adapter中进行数据操作的方法


--结束END--

本文标题: Android中BaseAdapter用法示例

本文链接: https://www.lsjlt.com/news/24266.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android BaseAdapter适配器详解用法
    目录ListView和GridView显示与缓存机制BaseAdapter使用演示布局ListView所加条目创建数据源JavaBean存放数据初始化数据源设置条目的单机和长按事件创...
    99+
    2024-04-02
  • Android开发中GridView用法示例
    本文实例讲述了Android开发中GridView用法。分享给大家供大家参考,具体如下:Android的GridView控件用于把一系列的空间组织成一个二维的网格显示出来,应用的比较多的就是组合图片显示。下面我就详细讲一个例子。首先写一个类...
    99+
    2023-05-30
    android gridview idv
  • Android开发中ProgressDialog简单用法示例
    本文实例讲述了Android开发中ProgressDialog简单用法。分享给大家供大家参考,具体如下:网上一般对进度条的示例都是如何显示,没有在任务结束如何关闭的文章,参考其他文章经过试验之后把整套进度条显示的简单示例如下:建立andro...
    99+
    2023-05-30
    android progressdialog gr
  • Android如何实现自定义可复用的BaseAdapter
    这篇文章主要讲解了“Android如何实现自定义可复用的BaseAdapter”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android如何实现自定义可复用的BaseAdapter”吧!项...
    99+
    2023-07-04
  • Android Git submodule详解用法示例
    目录引入创建 submodule本地配置代码提交主项目上的代码提交submodule独立项目上的代码提交删除 submodule引入 假定我们有两个项目:Cup 和 Water,其中...
    99+
    2024-04-02
  • Android中ExpandableListView使用示例详解
    本文实例为大家分享了ExpandableListView使用示例,供大家参考,具体内容如下MainActivity:public class Expandable_test extends Activity { private Expan...
    99+
    2023-05-30
    android expandablelistview roi
  • Android中ListView使用示例介绍
    目录一、具体思路1、创建Listview控件3、写入4、读取5、创建对象,构造器,GETSET方法二、具体实施1、适配器2、数据库3、对象4、等等等等三、案例分享activity_m...
    99+
    2024-04-02
  • Android中FrameLayout的示例分析
    这篇文章将为大家详细讲解有关Android中FrameLayout的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。概述       FrameLayout以...
    99+
    2023-06-29
  • Android中EventBus的示例分析
    这篇文章将为大家详细讲解有关Android中EventBus的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。展示效果 添加EventBus导入依赖compile 'org.gre...
    99+
    2023-05-30
    android eventbus
  • Android中ANR的示例分析
    这篇文章将为大家详细讲解有关Android中ANR的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Android ANR(Application Not Responding)的分析ANR (Ap...
    99+
    2023-05-30
    android anr
  • Android中ContentProvider基础应用的示例分析
    小编给大家分享一下Android中ContentProvider基础应用的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、适用场景ContentProv...
    99+
    2023-06-22
  • Android中RecyclerView复用错乱的示例分析
    这篇文章给大家分享的是有关Android中RecyclerView复用错乱的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。复用错乱的解决办法本文的前半部分很简单的,以为关于复用错乱,RecyclerVie...
    99+
    2023-05-30
    android recyclerview
  • android中AsyncTask类的示例分析
    这篇文章将为大家详细讲解有关android中AsyncTask类的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。AsyncTask也叫做“异步任务”,是一个抽象类   Asyn...
    99+
    2023-05-30
    android
  • Android中的进度条示例ProgressDialo
    ProgressDialog是一种显示后台任务进度的对话框,以下是Android中ProgressDialog的示例代码:1. 创建...
    99+
    2023-08-29
    Android
  • JavaScript中JSON.stringify()的用法示例
    这篇文章主要介绍了JavaScript中JSON.stringify()的用法示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、使用方法1、基本用法JSON.string...
    99+
    2023-06-15
  • JavaScript中JSON.parse()的用法示例
    这篇文章将为大家详细讲解有关JavaScript中JSON.parse()的用法示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 JavaScript中 JSON.p...
    99+
    2024-04-02
  • python中eval的用法示例
    python中eval是一个内置函数,它主要是用来将字符串str当成有效的表达式来求值并返回计算结果,比如变量赋值时,等号右边的表示是写成字符串的格式,返回值就是这个表达式的结果;它还可以把list、tuple、dict 和 string等...
    99+
    2024-04-02
  • python中split的用法示例
    在python中split()函数可以用于拆分字符串,主要是通过指定的分隔符对字符串进行切片操作,并返回分割后的字符串列表list;如果参数 num 有指定值,则分隔 num+1 个子字符串;若是使用空格作为分隔符时,对于中间为空的项会自动...
    99+
    2024-04-02
  • python中format的用法示例
    python中format是一种字符串格式化的方法,它增强了字符串格式化的功能,主要是用来构造字符串,用法如“str.format()”;并且format方法是通过 {} 和 : 来代替旧版本中的 % ,在 {} 符号操作过程中,每一个 {...
    99+
    2024-04-02
  • mysql中top的用法示例
    mysql中top语句可以用于规定要返回的记录的数目,它的语法格式为:“SELECT TOP 规定返回数值 * FROM 表名称”;例如需要从user表中选取头两条数据记录,语法为:“SELECT TOP 2 * FROM ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作