ListView的优化
2016-03-24 09:00
141 查看
package com.example.list_youhua; import java.util.ArrayList; import java.util.List; import android.app.Activity; 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.ListView; import android.widget.TextView; public class MainActivity extends Activity { private ListView lv1; private List<String> list; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv1 = (ListView) findViewById(R.id.listview); list = new ArrayList<String>(); list.add("張飛"); list.add("劉備"); list.add("关羽"); list.add("張飛"); list.add("劉備"); list.add("关羽"); list.add("張飛"); list.add("劉備"); list.add("关羽"); list.add("張飛"); list.add("劉備"); list.add("关羽"); lv1.setAdapter(new basadapter(MainActivity.this)); } class basadapter extends BaseAdapter { private Context context; public basadapter(Context context) { this.context = context; } public int getCount() { return list.size(); } public Object getItem(int position) { return list.get(position); } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ViewHolder vh; if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(context); // 实例化一个布局组件 convertView = inflater.inflate(R.layout.list_item, null); vh = new ViewHolder(); vh.tv = (TextView) convertView.findViewById(R.id.list_item_textView); convertView.setTag(vh); } else { vh = (ViewHolder) convertView.getTag(); } System.out.println("到底产生几个view" + convertView.getId()); vh.tv = (TextView) convertView .findViewById(R.id.list_item_textView); vh.tv.setText(list.get(position)); return convertView; } } // 用于保存第一次查找的组件,避免下次重复查找 static class ViewHolder { TextView tv; } }
相关文章推荐
- IT行业导览-第4章-薪资待遇
- LeetCode227:Basic Calculator II
- Fragment
- ReSharper.8.0.14.856注册码
- ASP.NET-后台cookie与前台JQUERY解析cookie
- POJ 1862 Stripies
- solr安装
- 第四周项目1-求最大公约数(1)
- 第三周项目4(3)年龄几何
- 如何通过图片在 HTTPS 网站中获取 HTTP 接口数据
- ASP.NET-RedirectToAction只能使用get方法
- 2016 新学++ , 回顾过去展望未来
- 当创客空间比创客还多 想要活先加张床
- 将.hhc文件转换成html文件解析
- Servlet 单例多线程
- System.err.println()与System.out.println的区别
- C++作业2—分段函数求值,两点距离,模拟ATM
- JDK源码阅读-1-Collection
- c++作业2
- 剑指 offer代码解析——面试题35第一个只出现一次的字符