listview优化
来源:互联网 发布:windows客户端开发 编辑:程序博客网 时间:2024/06/08 20:11
package com.example.text;
import java.util.ArrayList;
import android.R.drawable;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ArrayList<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
ListView listView=(ListView) findViewById(R.id.m_listview);
//初始化数据
initData();
//初始化适配器
listView.setAdapter(new MyAdapter());
}
private void initData() {
list = new ArrayList<String>();
for (int i = 0; i < 1000; i++) {
list.add("条目数"+i);
}
}
class MyAdapter extends BaseAdapter{
private View view;
private viewHolder holder;
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.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 View getView(int position, View convertView, ViewGroup parent) {
//如果视图没有加载过就加载视图
if(convertView==null){
//加载视图
view = View.inflate(MainActivity.this, R.layout.item, null);
//实例化静态内部类
holder = new viewHolder();
//把控件赋值给静态内部类的属性值
holder.tvHolder=(TextView) view.findViewById(R.id.i_textview);
holder.ivHolder=(ImageView) view.findViewById(R.id.i_imageView1);
//把控件保存在视图的方法里
view.setTag(holder);
}else{
/*如果不是第一次加载视图就把视图赋值给view,
得到视图里的控件*/
view=convertView;
holder = (viewHolder) view.getTag();
}
//通过内部类给控件重新赋值
holder.tvHolder.setText(list.get(position));
holder.ivHolder.setImageResource(R.drawable.a);
return view;
}
}
//viewhodlse的内部类
private static class viewHolder{
private TextView tvHolder;
private ImageView ivHolder;
}
}
import java.util.ArrayList;
import android.R.drawable;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
private ArrayList<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
ListView listView=(ListView) findViewById(R.id.m_listview);
//初始化数据
initData();
//初始化适配器
listView.setAdapter(new MyAdapter());
}
private void initData() {
list = new ArrayList<String>();
for (int i = 0; i < 1000; i++) {
list.add("条目数"+i);
}
}
class MyAdapter extends BaseAdapter{
private View view;
private viewHolder holder;
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.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 View getView(int position, View convertView, ViewGroup parent) {
//如果视图没有加载过就加载视图
if(convertView==null){
//加载视图
view = View.inflate(MainActivity.this, R.layout.item, null);
//实例化静态内部类
holder = new viewHolder();
//把控件赋值给静态内部类的属性值
holder.tvHolder=(TextView) view.findViewById(R.id.i_textview);
holder.ivHolder=(ImageView) view.findViewById(R.id.i_imageView1);
//把控件保存在视图的方法里
view.setTag(holder);
}else{
/*如果不是第一次加载视图就把视图赋值给view,
得到视图里的控件*/
view=convertView;
holder = (viewHolder) view.getTag();
}
//通过内部类给控件重新赋值
holder.tvHolder.setText(list.get(position));
holder.ivHolder.setImageResource(R.drawable.a);
return view;
}
}
//viewhodlse的内部类
private static class viewHolder{
private TextView tvHolder;
private ImageView ivHolder;
}
}
0 0
- ListView优化
- listView优化
- ListView优化
- ListView优化
- ListView优化
- ListView优化
- listView优化
- listview 优化
- ListView优化
- listView优化
- ListView 优化
- ListVIew优化
- ListView优化
- ListView优化
- listview优化
- Listview 优化
- ListView优化
- ListView 优化
- 一个全面的UI系统应该考虑的东西
- .c文件改成.cpp时,找不到extern变量
- HDU 1255 覆盖的面积(线段树扫描线)
- #93 Balanced Binary Tree
- Java基础知识点整理Day_01
- listview优化
- JavaSE 多线程 线程间通讯—等待唤醒机制代码优化(背下来)
- C++指针和数组和动态分配内存
- 关于火狐浏览器IE浏览器的各种submit提交无效的问题
- 俄罗斯军事装备 苏——15
- 多布局的优化
- Spring配置数据源的三种方式 (dbcp,c3p0,jndi).
- 重建二叉树
- python爬虫中的 urllib 模块 浅析