- 浏览: 38510 次
- 性别:
- 来自: 河北保定
最新评论
-
jianweicao:
楼主能给个例子否?
android在textview里首行缩进最简单方法 -
liu_zheng:
博主 怎么嵌套 能给个示例么?
android在textview里首行缩进最简单方法 -
huangyisheng0203:
我想说的是,真的太感谢你了。
android中引用项目出现红色大感叹号的问题解决方法
重写系统的simpleadpter:
public class ListSimpleAdpter extends SimpleAdapter{
//要使用到的数据源
private List<Map<String, Object>> data=new ArrayList<Map<String, Object>>();
//填充数据的资源文件
private int resource;
private String[] from;
private Context context;
public ListSimpleAdpter(Context context,
List<Map<String, Object>> data, int resource, String[] from,
int[] to) {
super(context, data, resource, from, to);
this.context=context;
this.data=data;
this.resource=resource;
this.from=from;
}
//item的总行数
@Override
public int getCount() {
// TODO Auto-generated method stub
return data==null?0:data.size();
}
//item对象
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
//item的id
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
//绘制每一个item
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Holder holder = null;
if(convertView==null)
{
convertView=LayoutInflater.from(context).inflate(resource, null);
holder=new Holder();
holder.imageView=(ImageView) convertView.findViewById(R.id.listitem_pic);
holder.title=(TextView) convertView.findViewById(R.id.listitem_title);
holder.content=(TextView) convertView.findViewById(R.id.listitem_content);
convertView.setTag(holder);
}else
{
holder=(Holder) convertView.getTag();
}
holder.imageView.setImageResource(Integer.parseInt(data.get(position).get(from[0]).toString()));
holder.title.setText(data.get(position).get(from[1]).toString());
holder.content.setText(data.get(position).get(from[2]).toString());
return convertView;
}
class Holder{
ImageView imageView;
TextView title;
TextView content;
}
} 这里对于Adapter的优化,用的很古老的ViewHolder、ViewCache办法:public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Holder holder = null;
if(convertView==null)
{
convertView=LayoutInflater.from(context).inflate(resource, null);
holder=new Holder();
holder.imageView=(ImageView) convertView.findViewById(R.id.listitem_pic);
holder.title=(TextView) convertView.findViewById(R.id.listitem_title);
holder.content=(TextView) convertView.findViewById(R.id.listitem_content);
convertView.setTag(holder);
}else
{
holder=(Holder) convertView.getTag();
}
holder.imageView.setImageResource(Integer.parseInt(data.get(position).get(from[0]).toString()));
holder.title.setText(data.get(position).get(from[1]).toString());
holder.content.setText(data.get(position).get(from[2]).toString());
return convertView;
}
class Holder{
ImageView imageView;
TextView title;
TextView content;
}或者使用HashMap做缓存的方法:HashMap<Integer, View> m = new HashMap<Integer, View>();
public View getView(int position, View view, ViewGroup parent) {
View convertView = m.get(position);
if (convertView != null) {
return convertView;
} else {
convertView=LayoutInflater.from(context).inflate(resource, null);
ImageView imageView=(ImageView) convertView.findViewById(R.id.listitem_pic);
TextView title=(TextView) convertView.findViewById(R.id.listitem_title);
TextView content=(TextView) convertView.findViewById(R.id.listitem_content);
m.put(position, convertView);
}
}
public class ListSimpleAdpter extends SimpleAdapter{
//要使用到的数据源
private List<Map<String, Object>> data=new ArrayList<Map<String, Object>>();
//填充数据的资源文件
private int resource;
private String[] from;
private Context context;
public ListSimpleAdpter(Context context,
List<Map<String, Object>> data, int resource, String[] from,
int[] to) {
super(context, data, resource, from, to);
this.context=context;
this.data=data;
this.resource=resource;
this.from=from;
}
//item的总行数
@Override
public int getCount() {
// TODO Auto-generated method stub
return data==null?0:data.size();
}
//item对象
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
//item的id
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
//绘制每一个item
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Holder holder = null;
if(convertView==null)
{
convertView=LayoutInflater.from(context).inflate(resource, null);
holder=new Holder();
holder.imageView=(ImageView) convertView.findViewById(R.id.listitem_pic);
holder.title=(TextView) convertView.findViewById(R.id.listitem_title);
holder.content=(TextView) convertView.findViewById(R.id.listitem_content);
convertView.setTag(holder);
}else
{
holder=(Holder) convertView.getTag();
}
holder.imageView.setImageResource(Integer.parseInt(data.get(position).get(from[0]).toString()));
holder.title.setText(data.get(position).get(from[1]).toString());
holder.content.setText(data.get(position).get(from[2]).toString());
return convertView;
}
class Holder{
ImageView imageView;
TextView title;
TextView content;
}
} 这里对于Adapter的优化,用的很古老的ViewHolder、ViewCache办法:public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Holder holder = null;
if(convertView==null)
{
convertView=LayoutInflater.from(context).inflate(resource, null);
holder=new Holder();
holder.imageView=(ImageView) convertView.findViewById(R.id.listitem_pic);
holder.title=(TextView) convertView.findViewById(R.id.listitem_title);
holder.content=(TextView) convertView.findViewById(R.id.listitem_content);
convertView.setTag(holder);
}else
{
holder=(Holder) convertView.getTag();
}
holder.imageView.setImageResource(Integer.parseInt(data.get(position).get(from[0]).toString()));
holder.title.setText(data.get(position).get(from[1]).toString());
holder.content.setText(data.get(position).get(from[2]).toString());
return convertView;
}
class Holder{
ImageView imageView;
TextView title;
TextView content;
}或者使用HashMap做缓存的方法:HashMap<Integer, View> m = new HashMap<Integer, View>();
public View getView(int position, View view, ViewGroup parent) {
View convertView = m.get(position);
if (convertView != null) {
return convertView;
} else {
convertView=LayoutInflater.from(context).inflate(resource, null);
ImageView imageView=(ImageView) convertView.findViewById(R.id.listitem_pic);
TextView title=(TextView) convertView.findViewById(R.id.listitem_title);
TextView content=(TextView) convertView.findViewById(R.id.listitem_content);
m.put(position, convertView);
}
}
发表评论
-
关于android中出现"ADB server didn't ACK"这个问题解决方案
2012-09-12 09:39 867假如,打开eclipse出现"ADB server ... -
Intent和IntentFilter详解
2012-09-10 10:53 749Intent用于启动Activity,Serv ... -
android 广播机制
2012-08-31 09:48 771流程:1.需要写一个继承广播的类,TextReceiver。 ... -
android重写UI控件
2012-08-23 15:18 1054很多时候android自定义控件并不克不及满足需求,如何做呢? ... -
Android的Handler总结
2012-08-22 09:58 730一、Handler的定义: ... -
eclipse导入的Android项目没有android.jar包并报错
2012-08-20 11:08 871选择这个android项目右击" Propertie ... -
android 如何全部关闭activity。
2012-08-20 11:07 1202如何退出Activity?如何安 ... -
在公共类定义全局变量引用
2012-08-15 07:56 816//字符串 public static String = & ... -
android在textview里首行缩进最简单方法
2012-07-31 11:07 7424用string定义文字,然后再文字外嵌套一个“ "& ... -
android listview间隔线颜色
2012-07-27 15:34 2417首先设置颜色 android:divider="#d ... -
android seekbar定义高度
2012-07-26 10:34 2734用SeekBar,并设置属性style="?andr ... -
android中 4张图片在底部排列,适用各种分辨率
2012-07-10 07:55 963android:layout_weight="1&q ... -
android里设置图片透明。
2012-07-05 17:26 1115设置两张图片。 <ImageView ... -
android下载问题。本地与网络资源大小不一致解决方法
2012-07-04 09:02 831之前的代码:如下 output = new FileOutpu ... -
白话Android 四种Activity的加载模式
2012-06-04 09:25 914“拿来主义”standard模式。哪里需要调用我我就去哪里 ... -
Activity启动模式小总结
2012-05-22 16:22 986standard 每次都会新建,每个Task都可以有,且每个 ... -
Android 四种Activity的加载模式
2012-05-22 10:12 1146一个Activty的生命周期 Ac ... -
Android单线程模型
2012-03-26 11:10 1197单线程模型 当一个程序第一次启动时,Android会同时启动 ... -
Android应用的基本组件
2012-03-06 16:29 9401.Activity 是android应用中负责与用户交互的组 ... -
Android Java包
2012-03-05 23:51 824快速了解android平台的一种方式是查看Java包的结构。 ...
相关推荐
在Android开发中,Adapter是一个至关重要的组件,它作为数据源与UI控件之间的桥梁,使得数据能够被适配并显示在界面中。本项目聚焦于自定义Adapter的实现,特别是如何将其应用于ListView的数据显示。 首先,理解...
本教程将通过一个名为"android应用源码Android重写listview实现下拉刷新.zip"的压缩包,深入探讨如何在Android中自定义ListView并实现下拉刷新功能。这个压缩包包含了一份用于学习和参考的源码,主要涉及以下几个...
本教程将深入探讨如何通过重写Adapter来达到这一目标,主要关注ListView的使用和适配器的定制。 首先,`ListView`是Android中用于展示可滚动列表的视图组件,它允许开发者在有限的屏幕空间内展示大量数据。与iOS的...
在Android开发中,Adapter是一个非常重要的组件,它起到了数据源与UI展示之间的桥梁作用。本文将深入探讨Android的Adapter机制,以及如何使用各种Adapter来加载数据。 首先,我们需要理解Adapter的基本概念。...
总结来说,实现“Android ListView adapter不同布局”涉及自定义Adapter,重写关键方法,特别是`getView()`,并处理好数据源和布局的对应关系。在处理嵌套ListView时,需要考虑到性能优化,避免过度复杂的设计,以...
在Android开发中,Adapter是一个非常重要的组件,它起到了数据与视图之间的桥梁作用。Adapter类允许我们将数据集合(如数组或列表)绑定到UI组件,如ListView、GridView或Spinner等。在Android中,我们通常会遇到三...
在Android开发中,Adapter是一个非常重要的组件,它起到了数据源与UI展示之间的桥梁作用。本文将深入探讨Android适配器的使用,特别是针对初学者,旨在帮助他们更好地理解和掌握这一核心概念。 首先,我们来理解...
总结起来,"Android支持DataBinding的RecyclerView通用Adapter"是一个高效的解决方案,它整合了`DataBinding`的便利性和`BRVAH`的实用性,为开发者提供了一个强大且易用的工具,帮助他们更好地管理和展示列表数据。...
本项目"Android 重写Listview实现左滑删除功能"旨在教你如何在ListView中添加滑动删除的交互效果。 首先,我们需要理解ListView的工作原理。ListView通过复用View(也称为ViewHolder模式)来优化性能,减少内存消耗...
这时,我们就可以通过重写ListView并结合Adapter来实现这个功能。 学习自定义控件,开发者需要掌握Android图形系统、事件处理机制以及布局管理的基本知识。同时,熟悉Android SDK提供的各种内置控件,理解它们的...
通常,开发者会创建一个继承自BaseAdapter的自定义Adapter,重写其中的方法,如`getCount()`、`getItem()`、`getItemId()`以及`getView()`等,来实现数据的绑定和视图的创建。 然而,使用反射技术,我们可以简化这...
在Android开发中,Adapter是一个至关重要的组件,它作为数据与视图之间沟通的桥梁,使得数据能够被适配并展示在各种ViewGroup中,如ListView、GridView或Spinner等。Adapter的使用极大地简化了数据绑定的过程,让...
- 当系统提供的Adapter不能满足需求时,可以继承BaseAdapter并重写其方法,如`getView()`,`getCount()`,`getItem()`等,以实现自定义的视图展示和数据处理逻辑。 6. **Adapter优化** - 为了提高性能,Adapter的...
首先,BaseAdapter是Android SDK提供的一个抽象类,它是适配器家族的基础,开发者可以继承它并重写其方法来满足自定义需求。BaseAdapterDemo可能是对这个基础类进行的优化和扩展,使得创建自定义Adapter变得更加简洁...
在这个项目中,我们将会深入探讨如何自定义一个带有图标的ExpandableListView,通过重写adapter来实现这一功能。 首先,我们需要了解ExpandableListAdapter,它是ExpandableListView的核心组件,负责数据的绑定和...
在Android开发中,"android 重写的table"通常指的是对原生的`TableLayout`或者`GridView`等表格布局进行自定义,以满足特定需求。`TableLayout`是Android提供的一个用于展示表格样式的布局,它由多个`TableRow`组成...
本教程将详细介绍如何在Android中简单使用ListView和Adapter来实现数据显示,并演示如何添加删除功能。 首先,你需要在布局文件中定义一个ListView。在XML文件中,你可以使用`<ListView>`标签来创建ListView,并为...
本教程将深入探讨如何在Android应用中重写ListView,以实现下拉刷新的功能。 首先,我们要理解下拉刷新的基本概念。下拉刷新是指用户在ListView顶部向下拉动,触发一个更新数据的操作,通常用于从服务器获取最新...
Android Adapter里面嵌套ListView实例详解 Android Adapter里面嵌套ListView实例详解是Android开发中的一种常见设计,即在一个ListView中嵌套另一个ListView。这种设计可以实现复杂的列表显示,但是需要特殊处理以...