2018-03-07 ListView显示数据
2018-03-09 本文已影响0人
紫杉叶子
笔记如下
mvc设计模式
lv = (ListView) findViewById(R.id.lv);
lv.setAdapter(new MyAdapter());
class MyAdapter extends BaseAdapter {
// 计算多少个 item 需要显示在 lv (ListView )上
@Override
public int getCount() {
System.out.println(" getCount 被调用 了 ");
return 100;
}
// 每个 item 要显示在 lv 上的时候, 会被调用到的方法
// 谁调用 呢 ? ----- 是有 android 系统去调用, 不是你调用的
// position : 当前的 item 是 处于第几个位置 给传递进来了.
// convertView: 这个 用于做优化的
// parent: 当前的 的 父 控件
// convertView -- 实际上 就是 这里 getView 返回的 textView对象 , 都是同一个 类型的对象 , 并且
// 你会发现 convertView 就是
// 之前的 textView
// 内存中就 只有 需要 显示在 屏幕上的textView 了
// 实现了 内存的 优化,
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView != null) {
System.out.println("cv :" + convertView.toString());
}
View v;
if (convertView == null) {
// 一般用 打气筒 的 对象 ,去 填充 xml , 使得 xml 布局文件
//变为 一个 view 对象 传入
//v = View.inflate(MainActivity.this, R.layout.item, null);
v = new TextView(MainActivity.this);
} else {
v = convertView;
}
return v;
}
@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;
}
}
}