androidlistView性能优化-创新互联
package com.example.ex_000_example;
创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站制作、成都网站建设、椒江网络推广、成都小程序开发、椒江网络营销、椒江企业策划、椒江品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联为所有大学生创业者提供椒江建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.comimport java.util.ArrayList;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
//准备好的图片资源
private int[] p_w_picpathList = new int[] { R.drawable.qq0, R.drawable.qq1,
R.drawable.qq2, R.drawable.qq3, R.drawable.qq4, R.drawable.qq5,
R.drawable.qq6, R.drawable.qq7, R.drawable.qq8, R.drawable.qq9,
R.drawable.qq10, R.drawable.qq11, R.drawable.qq12, R.drawable.qq13,
R.drawable.qq14 };
private ArrayList
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 准备数据
for (int i = 0; i < p_w_picpathList.length; i++) {
MyDate myDate = new MyDate("数据来了"+i, p_w_picpathList[i]);
dateList.add(myDate);
}
ListView listView = (ListView) findViewById(R.id.listView1);
MyAdapter myAdapter = new MyAdapter();
// 设置适配器
listView.setAdapter(myAdapter);
}
//减少控件查找次数
class ViewHolder {
TextView textView;
ImageView p_w_picpathView;
}
class MyAdapter extends BaseAdapter {
// 设定每行的样式以及显示
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View inflate = null;
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
// 得到布局转换器
LayoutInflater inflater = getLayoutInflater();
// 将布局xml文件转换成布局对象
inflate = inflater.inflate(R.layout.list_item, null);
// 查找控件,一定要查找该布局对象上有的控件
holder.textView = (TextView) inflate
.findViewById(R.id.textView1);
holder.p_w_picpathView = (ImageView) inflate
.findViewById(R.id.p_w_picpathView1);
// 将保存控件的对象存入行布局对象的tag中
inflate.setTag(holder);
} else {
// 让那个已经完全消失的布局对象,去替代即将出现的
inflate = convertView;
// 从行布局对象中取出之前存好的控件
holder = (ViewHolder) inflate.getTag();
}
// 根据position从容器中取出数据
MyDate myDate = dateList.get(position);
// 将数据显示到控件上
holder.textView.setText(myDate.title);
holder.p_w_picpathView.setImageResource(myDate.p_w_picpath);
return inflate;
}
// 决定了listview显示的行数
@Override
public int getCount() {
// TODO Auto-generated method stub
return dateList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
class MyDate{
String title;
int p_w_picpath;
public MyDate(String title, int p_w_picpath) {
super();
this.title = title;
this.p_w_picpath = p_w_picpath;
}
}
}
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:androidlistView性能优化-创新互联
路径分享:http://myzitong.com/article/degijd.html