- 浏览: 124703 次
- 性别:
- 来自: 深圳
最新评论
-
T_bag:
...
TabHost 中的Activity执行顺序 -
ihopethatwell:
楼主,你能否写一个 int类型的一维数组的结构体?
linux NDK实例 -
gf_crazy:
刚好找第二种,其他地方全是第一种。
TabHost -
gangbener:
我们是可以把不同分辨率的图片放到不同的图片文件夹中去,问题是: ...
android程序中屏幕问题解决方案 -
shusanzhan:
学习了,Mark
android应用收费渠道
/**
*
* 博雅商城使用
*/
private class MyListViewAdapter extends BaseAdapter {
private LayoutInflater mLayoutInflater;
public MyListViewAdapter(Context context) {
this.mLayoutInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return dataList.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = mLayoutInflater.inflate(R.layout.tools_row, null);
convertView.setBackgroundResource(R.drawable.dtht_1);
if (RoomBitmapIds.getTypeface() == null) {
RoomBitmapIds.initTypeface(mActivity); // 初始化字体
}
Typeface tf = RoomBitmapIds.getTypeface();
holder.icon = (ImageView) convertView.findViewById(R.id.icon);
holder.jz = (TextView) convertView.findViewById(R.id.jz);
holder.jz.setTypeface(tf);
holder.jg = (TextView) convertView.findViewById(R.id.jg);
holder.jg.setTypeface(tf);
holder.buy = (RelativeLayout) convertView
.findViewById(R.id.buy);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
System.out.println((String) dataList.get(position).get(
"productIcon"));
holder.icon.setBackgroundResource(Market.icons
.get((String) dataList.get(position).get("productIcon")));
holder.jz.setText((String) dataList.get(position)
.get("productName"));
int bj = Integer.parseInt(String.valueOf(dataList.get(position)
.get("productBj")));
if (bj != 0) {
holder.jg.setText(bj + "博雅币");
} else {
holder.jg.setText(String.valueOf(dataList.get(position).get(
"productYj"))
+ "游戏币");
}
return convertView;
}
}
/**
*
* 博雅商城使用
*/
public final class ViewHolder {
public ImageView icon;
TextView jz;
TextView jg;
RelativeLayout buy;
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="40dip">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:background="@drawable/storecell_bg">
<!-- 头片 -->
<ImageView android:id="@+id/icon" android:layout_width="40dip"
android:layout_height="40dip" android:layout_alignParentLeft="true"
android:layout_marginLeft="10dip" android:gravity="center"
android:background="@drawable/vip_cash"
android:layout_centerVertical="true" />
<!-- 价值 -->
<TextView android:id="@+id/jz" android:layout_width="wrap_content"
android:layout_height="20dip" android:layout_toRightOf="@id/icon"
android:layout_alignTop="@id/num" android:textColor="#000000"
android:textStyle="bold" android:gravity="left" />
<!-- 价格 -->
<TextView android:id="@+id/jg" android:layout_width="wrap_content"
android:layout_height="20dip" android:layout_toRightOf="@id/icon"
android:layout_below="@id/jz" android:textColor="#555555"
android:gravity="left" />
<!-- 购买 -->
<RelativeLayout android:id="@+id/buy"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:layout_alignParentRight="true"
android:layout_marginRight="10dip" android:background="@drawable/vip_btn"
android:layout_centerVertical="true">
<TextView android:text="@string/buy" android:textColor="#ffffff"
android:textSize="16sp" android:layout_width="wrap_content"
android:paddingBottom="5dip" android:layout_height="wrap_content"
android:gravity="center" android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
</RelativeLayout>
</LinearLayout>
发表评论
-
android.os.NetworkOnMainThreadException
2011-12-24 13:14 1233不能在android的主线程中,执行一个网络操作 ... -
转载:为什么要对URI进行编码
2011-12-15 15:49 1078为什么需要Url编码,通常如果一样东西需要编码,说明这样东 ... -
multipart form-data boundary
2011-12-15 15:23 1022含义 ENCTYPE="multipart/ ... -
android http 附件
2011-12-15 14:17 1659一:服务器端: 1:struts-config.xml ... -
post 附件
2011-12-15 10:24 1004在做嘀咕客户端的时候,要实现拍照上传的功能。根据嘀咕api ... -
让Android应用获取系统权限
2011-12-08 18:46 1003在 android 的API中有提供 SystemCloc ... -
Android源码目录结构详解
2011-12-01 20:22 848Android 2.1 |-- Makefile |-- ... -
两个activity跳转
2011-11-25 16:06 1277Activity A跳转到 Activity B /**A. ... -
线程同步之wait()/notify()的使用
2011-11-21 11:24 998wait()/notify() 通常,多 ... -
游戏中渲染线程与更新线程交替执行
2011-11-21 11:21 944private final State mThreadLock ... -
android colormatrix
2011-11-03 17:32 1496在编程中有时候需要 ... -
java栈,堆,池
2011-07-08 09:38 748今天复习了一下这些知识,顺便做了下笔记.1.寄存器:最快的存储 ... -
3D开发的境界
2011-06-04 20:12 704第一阶段:初学者阶 ... -
Http
2011-06-01 17:10 1311使用 HTTP 服务: 1. Apache HttpCline ... -
获取手机的Opengl的支持版本
2011-05-27 09:28 1464public int getGLVersion() { ... -
性能优化
2011-05-27 09:26 790如果你想写一个 Java 程序,观察某对象什么时候会被垃圾收集 ... -
Android游戏中其他语言数据类型之间的转换方法
2011-05-17 11:43 1234Java与其他语言数据类型之间的转换方法实例程序 /* ... -
android canvas.getClipBounds
2011-05-13 17:41 8439一种是传参数: Rect dstRect = new Re ... -
获取屏幕大小的方法
2011-05-13 17:38 601// one DisplayMetrics dm = n ... -
Android Lock 使用
2011-05-13 16:43 3205PowerManager 和PowerManager.Wa ...
相关推荐
1. **ViewHolder模式**:这是ListView优化的核心。通过复用convertView,避免频繁创建新的View对象。ViewHolder模式确保了每个item的视图状态在滚动时能得到快速恢复,降低了内存分配和对象创建的开销。在`getView()...
1. **ListView优化策略** - **ViewHolder模式**:为了解决ListView滚动时频繁创建与销毁视图导致的性能问题,我们可以使用ViewHolder设计模式。这个模式缓存了视图的引用,减少了findViewById()的调用次数,提高了...
综上所述,CocosCreator的ListView优化涉及到多方面的策略,包括复用机制、数据绑定、异步加载、绘制优化等。通过使用`GListView.js`这样的扩展库,开发者可以更好地控制ListView的行为,提高应用在处理大量数据时的...
总结,ListView优化主要包括视图复用、适配器优化、ViewHolder模式、数据分页加载等,而`SwipeRefreshLayout`提供了便捷的下拉刷新功能。通过这些策略,我们可以使ListView在处理大数据量时仍保持流畅,提供更好的...
本教程将通过"最经典的listView优化demo",为初学者提供一份详尽的Android ListView适配器优化实践。 首先,我们要理解ListView的工作原理。ListView采用了一种叫做“视图复用”的机制,即只有当前屏幕可见的几项...
本示例“listview优化图片缓存例子”将详细介绍如何利用缓存策略来提高ListView加载图片的效率。 一、图片缓存的重要性 在ListView中,由于屏幕空间有限,只有部分列表项可见。当用户滚动时,一些不再可视的列表项...
ListView优化** ListView的优化主要涉及以下几个方面: 1.1 **convertView复用机制**:ListView的Adapter中,`getView()`方法会创建并填充新的视图,但为了提高性能,应充分利用convertView,通过`convertView....
1. **使用ViewHolder模式**:这是ListView优化的核心,通过复用convertView来减少 findViewById 的次数,提高性能。ViewHolder类存储了ListView项布局中的各个视图引用,当需要创建新视图时,直接从ViewHolder中获取...
文件"ListView"可能是示例代码,包含了一个简单的ListView应用实例,包括JSON解析、Adapter实现、ListView优化、图片加载和子控件点击事件处理等功能。通过查看和学习这个代码,你可以更好地理解和掌握上述知识点。...
五、ListView优化策略 1. 使用 ViewHolder 设计模式:缓存convertView中的子视图,避免每次绑定数据时的查找操作。 2. 图片缓存:利用内存缓存和磁盘缓存,如使用Universal Image Loader、Picasso或Glide库,它们...
以下是对ListView优化的一些关键点和策略的详细说明: 1. **复用convertView**:ListView的工作机制是基于视图缓存的,即只有当前屏幕可见的item需要被创建。convertView参数在getView方法中用于传递已经创建并可以...
本篇文章将深入探讨ListView与BaseAdapter的工作原理,并详细介绍如何进行性能优化。 首先,我们来理解一下Adapter在Android中的作用。Adapter是连接数据源和UI组件的桥梁,它负责将数据转化为可显示的视图。在...
ViewHolder模式是ListView优化的核心技巧,它可以避免在滚动时频繁地创建和查找视图对象。通过创建一个ViewHolder类来持有每个列表项视图中的子视图引用,并在getView()方法中重用已存在的ViewHolder,可以显著减少...
以下是对"ListView优化示例源码"的详细解读。 1. **复用机制**:ListView的核心优化策略是视图复用,即`convertView`。在`getView()`方法中,如果传入的convertView不为空,那么我们就可以复用这个已经创建过的视图...
ViewHolder模式是ListView优化的核心策略之一。它通过缓存convertView中的子View,减少findViewById()的调用次数,从而提升性能。创建一个ViewHolder类,持有ListView每一项所需的视图引用,然后在getView()方法中...
ViewHolder模式是ListView优化的关键。它通过缓存convertView的子视图,减少findViewById的调用次数,提高滚动时的性能。在getView()方法中,先检查convertView是否为空,如果不空,则直接通过ViewHolder获取视图,...
以下是一些关于ListView优化的关键知识点: 1. **分页加载**:在处理大数据集时,不应一次性加载所有数据,而是采用分页加载策略。当用户滚动到列表底部时,通过异步请求加载更多数据。这样可以减少内存消耗,提高...
综上所述,ListView优化是一个多方面的工作,包括缓存策略、数据加载方式、图片处理等多个环节。通过对这些环节的优化,我们可以显著提高ListView的性能,提供更流畅的用户体验。在实际开发中,结合“无缓存”、“一...