`
shinelith
  • 浏览: 8922 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用自定义的Adapter

阅读更多

使用自定义的Adapter

 

关键字 UI XML Adapter ListView

日期 2010/6/4

 

关于性能使用convertView 回收试图,性能提高200%

使用ViewHolder 性能再提高50%

继承BaseAdapter 类 实现其中的方法,注意getView() ,其中是最重要的一个重写方法。

其中使用LayoutInflater 将一个xml 解释为一个View ,然后将传来的数据存入View 中。

 

可以使用itemAdapter .notifyDataSetChanged();通知Adapter 内容已经改变 进行刷新

 

package com.shinestudio.hexcoversion.adapter;

import java.util.List;

import java.util.Map;

public class ItemAdapter extends BaseAdapter {

       static class ItemViewHolder {
              TextView t_ori;
              TextView t_bin;
              TextView t_dec;
              TextView t_hex;
       }

       private static LayoutInflater inflater;
       private String[] tag;
       private List<Map<String, String>> data;
 
       public ItemAdapter(Context context, String[] tag, List<Map<String, String>> data) {
              inflater = LayoutInflater.from(context);
              this.tag = tag;
              this.data = data;
       }

       @Override

       public int getCount() {
              return data.size();
       }

       @Override
       public Object getItem(int position) {
              return data.get(position);
       }

       @Override
       public long getItemId(int position) {
              return position;
       }

       @Override
       public View getView(int position, View convertView, ViewGroup parent) {
              ItemViewHolder holder;
              if (convertView == null) {
                     convertView = inflater.inflate(R.layout.listitem, null);
                     holder = new ItemViewHolder();
                     holder.t_ori = (TextView) convertView.findViewById(R.id.tv_ori);
                     holder.t_bin = (TextView) convertView.findViewById(R.id.tv_bin);
                     holder.t_dec = (TextView) convertView.findViewById(R.id.tv_dec);
                     holder.t_hex = (TextView) convertView.findViewById(R.id.tv_hex);
                     convertView.setTag(holder);
              } else {
                     holder = (ItemViewHolder) convertView.getTag();
              }
              holder.t_ori.setText((String) data.get(position).get(tag[0]));
              holder.t_bin.setText((String) data.get(position).get(tag[1]));
              holder.t_dec.setText((String) data.get(position).get(tag[2]));
              holder.t_hex.setText((String) data.get(position).get(tag[3]));
              return convertView;
       }
}
 

 

分享到:
评论

相关推荐

    ListView中使用自定义Adapter及时更新数据

    本篇将详细讲解如何在ListView中使用自定义Adapter来实现数据的及时更新。 首先,我们需要理解ListView的工作原理。ListView通过Adapter来与数据源进行交互,Adapter是连接数据集和视图的桥梁。它负责从数据集中...

    Android自定义adapter的listview

    为了实现更加灵活和丰富的界面展示,我们通常需要对ListView进行自定义,这涉及到自定义Adapter的使用。自定义Adapter允许我们根据需求定制ListView的每一项视图,以适应不同的数据结构和界面设计。 首先,我们需要...

    自定义Adapter 实例

    步骤5:在Activity中使用自定义Adapter 在需要显示列表的Activity中,创建`MyBaseAdapter`的实例,传入数据集。然后设置ListView的Adapter为这个自定义Adapter,例如: ```java ListView listView = findViewById(R....

    Android自定义Adapter适配器

    本项目聚焦于自定义Adapter的实现,特别是如何将其应用于ListView的数据显示。 首先,理解Adapter的基本原理是关键。Adapter是一个接口,它的主要职责是将数据模型转换为视图,以便在UI组件如ListView、GridView或...

    GridView用自定义Adapter

    当我们需要显示的数据不满足默认Adapter提供的功能时,自定义Adapter就显得尤为重要。本篇将深入探讨如何为GridView创建自定义Adapter,以实现更灵活、个性化的数据展示。 首先,了解Adapter的基本概念。Adapter是...

    自定义Adapter适合绝大多数情形的应用 ListView

    接下来,我们来看一下如何在ListView中使用自定义Adapter。首先,创建一个布局文件(如item.xml),定义每个Item的UI结构。然后,在Activity中创建自定义Adapter实例,传入数据集和对应的上下文。最后,将Adapter...

    自定义Adapter适应ListView和GridView

    自定义Adapter是实现这两种视图高效、灵活展示数据的关键。本文将深入解析如何根据CSDN鸿洋大神的博客,自定义一个通用的Adapter,以满足不同场景下的ListView和GridView的适配器需求。 首先,理解Adapter的作用。...

    通过自定义adapter来显示listview

    3. **在MainActivity中使用自定义Adapter** 在MainActivity中,我们需要初始化数据源,创建自定义Adapter实例,并将其设置给ListView。如下所示: ```java public class MainActivity extends AppCompatActivity...

    ArrayList动态删除 自定义Adapter (附源码)

    在ListView中,我们通常使用自定义Adapter来连接数据源(如ArrayList)与视图。Adapter是Android中一个非常重要的概念,它充当了数据模型与视图之间的桥梁。 自定义Adapter的创建通常包括以下步骤: 1. 创建一个新...

    Android ListView 自定义adapter好友列表

    本文将深入探讨如何使用自定义Adapter来创建一个功能丰富的Android ListView好友列表。 首先,我们需要理解ListView的工作原理。ListView依赖于Adapter来提供数据和视图之间的桥梁。Adapter是连接数据源(如...

    Android之自定义Adapter的ListView

    这就是自定义Adapter的用武之地。 自定义Adapter是为了更灵活地控制ListView中的每个列表项的行为和外观。在自定义Adapter时,我们需要实现四个核心方法:`getCount()`、`getItem(int position)`、`getItemId(int ...

    自定义Adapter

    "自定义Adapter"这个主题主要关注如何正确地创建和使用自定义的Adapter,以及解决在使用过程中可能出现的问题,如程序闪退或崩溃。 首先,我们来理解Adapter的基本原理。Adapter是一个接口,它定义了如何将数据集...

    Listview自定义Adapter显示省名并响应item事件

    本教程将深入讲解如何使用自定义Adapter来显示省名,并响应ListView中的item点击事件。Adapter是连接ListView和数据源的关键,它负责将数据转化为ListView可显示的视图。 首先,我们需要创建一个自定义的Adapter类...

    Android自定义Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)

    本篇文章将详细介绍如何在Android中自定义Spinner的下拉列表,包括使用ArrayAdapter和自定义Adapter两种方法。 ### 一、使用ArrayAdapter ArrayAdapter是Android提供的基础适配器,它可以方便地将数组数据与...

    listview 自定义adapter的例子demo

    示例中的"adapter"文件可能包含了实现以上步骤的代码,包括自定义Adapter类、数据模型类以及展示数据的布局文件。在实际开发中,你可能还需要处理点击事件、优化视图复用等高级功能。 总之,自定义ListView的...

    自定义Adapter填充ExpandableListView

    自定义Adapter填充ExpandableListView是Android UI设计中的一个重要技能,它允许开发者根据需求定制列表的显示样式和交互方式。 首先,我们需要了解Adapter的概念。Adapter是连接数据源与UI组件的桥梁,它负责将...

    ListView使用SimpleAdapter和自定义Adapter填充数据

    在这个场景中,我们探讨了如何使用`SimpleAdapter`和自定义`Adapter`来填充ListView,并且在自定义Adapter中添加了删除功能。下面我们将详细讲解这两个方法。 首先,`SimpleAdapter`是Android SDK提供的一种简单...

    可重用的自定义adapter

    "可重用的自定义adapter"是Android开发中的一个核心概念,允许开发者根据需求定制ListView、GridView等控件的数据展示方式。本项目基于Android Studio,对于使用Eclipse的开发者可能需要进行一些转换。 自定义...

    android adapter详解

    要使用自定义 Adapter,需要创建一个 ListActivity,并在其 onCreate() 方法中设置 Adapter。下面是一个简单的示例: ```java public class CustomAdapterActivity extends ListActivity { @Override public void...

    安卓listview自定义adapter

    安卓listview自定义adapter包括demo和一些其他自定义绑定的代码

Global site tag (gtag.js) - Google Analytics