ListView的缓存原理

来源:互联网 发布:电脑时光秘书软件 编辑:程序博客网 时间:2024/05/14 21:35
import java.util.ArrayList;import java.util.List;import com.example.cunbou.R;import android.app.Activity;import android.os.Bundle;import android.widget.ListView;public class Adapterhuancun extends Activity{  private ListView lv;  private MyAdapter2 adapter;  private List<String> data;  @Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.array_adapter);    lv = (ListView) findViewById(R.id.adapter_listview);//listview 要实例化data = new ArrayList<String>();for(int i = 0 ;i < 20 ;i++){data.add("shuju"+i);}adapter =new MyAdapter2(this, data);lv.setAdapter(adapter);}}
import java.util.List;import com.example.cunbou.R;import com.example.cunbou.R.layout;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;public class MyAdapter2 extends BaseAdapter {    private List<String> data;    private Context context;    private LayoutInflater inflater;        public MyAdapter2(Context convert,List<String> list){    this.context=convert;    this.data=list;    }@Overridepublic int getCount() {// TODO Auto-generated method stubreturn data.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn data.get(position);}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubViewHolder viewHolder = null;if(convertView==null){convertView = inflater.from(context).inflate(R.layout.adapterhuancun, null);viewHolder = new ViewHolder();viewHolder.textView=(TextView) convertView.findViewById(R.id.huancun_tv);convertView.setTag(viewHolder);}else {viewHolder=(ViewHolder) convertView.getTag();}viewHolder.textView.setText(data.get(position));return convertView;}//缓存原理class ViewHolder{public TextView textView;}}


0 0