您的位置:首页 > 移动开发 > Android开发

大四实习准备1_java构造器_android ListView

2015-04-23 16:50 489 查看
2015-4-23

Java构造器

与类名同名;无返回值(void也不行);被不同的修饰符修饰是有区别的;当构造函数被private修饰时,只有本类可访问。其他类可以通过该类的get函数得到对象。如单子模式;子类的构造函数默认调用super(),即父类的构造函数,然后再回到子类自己的构造函数。子类的构造函数中写了super()效果也一样,相当于没写(只能写在第一句,否则出错);构造函数可以重载(当父类有多个构造函数时,可以用super(xxx)来指定调用父类的哪个构造函数);当自定义了构造函数后,系统就不自动生成构造函数了。所以最好为每个类写无参构造函数,以免出错;运行过程:有继承关系时,1>初始化父类的静态块和静态成员变量 2>初始化子类的静态块和静态成员变量 3>执行父类的构造函数 4>执行子类的构造函数;

单子模式,是指一段时间内该类的对象只存在一份。



public View getView(int position, View convertView/*用于将之前加载好的布局进行缓存,以便重用*/, ViewGroup parent) {
// TODO Auto-generated method stub
fruit f = getItem(position);//该position对应的fruit对象
View v ;//理解是diy_list_item这个布局,布局也是一种view
ViewHolder vHolder = null;//用于缓存fruitImage和fruitName,避免每次都findViewById()
if( null == convertView ){
v = LayoutInflater.from(getContext()).inflate(resourceId, null);
vHolder = new ViewHolder();
vHolder.fruitImage = (ImageView)v.findViewById(R.id.imageView);
vHolder.fruitName = (TextView)v.findViewById(R.id.textView);
v.setTag(vHolder);
}
else{
v = convertView;
vHolder = (ViewHolder) v.getTag();
}
vHolder.fruitImage.setImageResource(f.getImageId());
vHolder.fruitName.setText(f.getName());
return v;
}
//内部类ViewHolder
class ViewHolder{
ImageView fruitImage;
TextView fruitName;
}


getView()
4.添加点击事件

lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
// TODO Auto-generated method stub
fruit f = fruitList.get(position);
Toast.makeText(MainActivity.this, f.getName(), Toast.LENGTH_SHORT).show();
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐