ListView优化实例
来源:互联网 发布:三维人体软件 编辑:程序博客网 时间:2024/06/11 20:53
1 java 代码
package com.example.androidlistviewdemo;import java.util.ArrayList;import java.util.List;import android.app.ListActivity;import android.content.Context;import android.os.Bundle;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 MultipleItemsList extends ListActivity { private MyCustomAdapter mAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mAdapter = new MyCustomAdapter(this); FileInfoBean fileInfoBean; for (int i = 0; i < 50; i++) { fileInfoBean = new FileInfoBean(); mAdapter.addItem(fileInfoBean); } setListAdapter(mAdapter); } class FileInfoBean{ private String title = "Title"; private String iconPath = null; private String message = "I am Win"; private String time = "20130425";public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public String getIconPath() {return iconPath;}public void setIconPath(String iconPath) {this.iconPath = iconPath;}public String getTime() {return time;}public void setTime(String time) {this.time = time;} } private class MyCustomAdapter extends BaseAdapter { private List<FileInfoBean> mData = new ArrayList<FileInfoBean>(); private LayoutInflater mInflater; public MyCustomAdapter(Context context) { mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); } public void addItem(final FileInfoBean item) { mData.add(item); notifyDataSetChanged(); } @Override public int getCount() { return mData.size(); } @Override public FileInfoBean getItem(int position) { return mData.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { System.out.println("getView " + position + " " + convertView); ViewHolder holder = null; if (convertView == null) { convertView = mInflater.inflate(R.layout.listviewitem, null); holder = new ViewHolder(); holder.titleTV = (TextView)convertView.findViewById(R.id.TitleTV); holder.iconView = (ImageView) convertView.findViewById(R.id.IconView); holder.messageTV = (TextView) convertView.findViewById(R.id.messageTV); holder.timeTV = (TextView) convertView.findViewById(R.id.TimeTV); convertView.setTag(holder); } else { holder = (ViewHolder)convertView.getTag(); } holder.titleTV.setText(mData.get(position).getTitle()); holder.messageTV.setText(mData.get(position).getMessage()); holder.timeTV.setText(mData.get(position).getTime()); holder.iconView.setBackgroundResource(R.drawable.ic_launcher); return convertView; } } public static class ViewHolder { public ImageView iconView; public TextView titleTV; public TextView messageTV; public TextView timeTV; } }
2 xml代码
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/itemLy" android:orientation="horizontal" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/IconView" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:padding="10dp" android:src="@null"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="First Titile " android:layout_toRightOf="@+id/IconView" android:padding="10dp" android:textSize="15sp" android:gravity="center" android:id="@+id/TitleTV"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/messageTV" android:layout_below="@+id/TitleTV" android:layout_alignLeft="@+id/TitleTV" android:padding="10dp" android:textSize="15sp" android:gravity="center" android:text="Message of the item"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/TimeTV" android:layout_centerVertical="true" android:layout_alignParentRight="true" android:padding="10dp" android:textSize="15sp" android:gravity="center" android:text="This item time"/> </RelativeLayout>
- ListView优化实例
- Android ListView性能优化实例讲解
- [Android实例] 下载网络图片 涉及ListView的优化
- ListView实例
- ListView实例
- ListView优化
- listView优化
- ListView优化
- ListView优化
- ListView优化
- ListView优化
- listView优化
- listview 优化
- ListView优化
- listView优化
- ListView 优化
- ListVIew优化
- ListView优化
- 内存泄露,警惕构造函数中抛出的异常
- 【总结】C语言中的scanf和printf函数易被忽略的部分
- 国外的一个网站后台UI设计网站
- 我的长征之 TAOCP初见面
- java calendar的操作
- ListView优化实例
- magento开启模板路径提示
- 为什么要用委托
- paip.JAVA的优缺点相比C#.NET VC425
- 地震中为什么微信效率>短信>电话
- UNIX环境高级编程----函数索引(部分)
- Hibernate缓存
- c++构造函数初探
- 图像处理线性滤波(基础算子、卷积、拉普拉斯)