public class MainActivity extends Activity {
private List<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初使化数据
initData();
//找到listView
ListView lv = (ListView) findViewById(R.id.lv);
//给listView设置它的适配器
lv.setAdapter(new MyAdapter());
}
private void initData() {
list = new ArrayList<>();
for (int i = 0; i < 20000; i++) {
list.add("范冰冰"+i);
}
}
class MyAdapter extends BaseAdapter{
/**
* listView展示item的个数
*/
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
/**
* 得到每一个listView的item
*/
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
/**
* 得到每一个item的id
*/
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
/**
* 返回listView显示的布局文件
*
* listView优化
* 1:复用convertView 95%
* 2:减少findViewByid的次数 5%
*
*/
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder =null;
/*
* 第一个参数是上下文
* 第二个参数是布局文件
* 第三个参数是父类
*/
//没用加载布局文件,那我们应该去加载布局文件
if(convertView==null){
holder = new ViewHolder();
//把布局文件转换成一个view
convertView =View.inflate(MainActivity.this, R.layout.lv_item, null);
convertView.setTag(holder);
}else{
//不等于空
holder =(ViewHolder) convertView.getTag();
}
//找到textView控件
holder.tv = (TextView) convertView.findViewById(R.id.tv);
//给textView进行赋值
holder.tv.setText(list.get(position));
return convertView;
}
}
class ViewHolder{
TextView tv;
}
}
private List<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初使化数据
initData();
//找到listView
ListView lv = (ListView) findViewById(R.id.lv);
//给listView设置它的适配器
lv.setAdapter(new MyAdapter());
}
private void initData() {
list = new ArrayList<>();
for (int i = 0; i < 20000; i++) {
list.add("范冰冰"+i);
}
}
class MyAdapter extends BaseAdapter{
/**
* listView展示item的个数
*/
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
/**
* 得到每一个listView的item
*/
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
/**
* 得到每一个item的id
*/
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
/**
* 返回listView显示的布局文件
*
* listView优化
* 1:复用convertView 95%
* 2:减少findViewByid的次数 5%
*
*/
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder =null;
/*
* 第一个参数是上下文
* 第二个参数是布局文件
* 第三个参数是父类
*/
//没用加载布局文件,那我们应该去加载布局文件
if(convertView==null){
holder = new ViewHolder();
//把布局文件转换成一个view
convertView =View.inflate(MainActivity.this, R.layout.lv_item, null);
convertView.setTag(holder);
}else{
//不等于空
holder =(ViewHolder) convertView.getTag();
}
//找到textView控件
holder.tv = (TextView) convertView.findViewById(R.id.tv);
//给textView进行赋值
holder.tv.setText(list.get(position));
return convertView;
}
}
class ViewHolder{
TextView tv;
}
}