大致思路:1.有一个数据管理器,用来加载和保存我们需要用到的图片;
2.建立一个基本的xml文件,由于我们需要的是 一个图片后接文字的样式,所以我们在次文件中中加入一个ImageView 和 TextView (我们在这里先设置一下基本的数据比如颜色和默认文字等等,以便于我们调试;
3.自定义一个控件,设置好适配器。我把此处的代码贴上:
public class ZDWLIstView extends ListView {
public ZDWLIstView(Context context) {
super(context);
initData();
}
public ZDWLIstView(Context context, AttributeSet attrs) {
super(context, attrs);
initData();
}
private void initData(){//设置适配器
setAdapter(new MyAdapter());
}
private class MyAdapter extends BaseAdapter {
@Override
public int getCount() {
return DataManager.shareManeger.getDataSource().size();
}
@Override
public Object getItem(int i) {
return DataManager.shareManeger.getDataSource().get(i);
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewGroup v=(ViewGroup)View.inflate(getContext(),R.layout.qq,null);
这里的qq就是我们第二部设置的xml文件,我们为了获取它内部的控件,我们将他转换为ViewGroup类型,
//获取子视图
ImageView icon=v.findViewWithTag(getResources().getString(R.string.iconTag));
System.out.println();
TextView name=v.findViewWithTag(getResources().getString(R.string.nameTag));
//获取数据模型
FriendModel model=DataManager.shareManeger.getDataSource().get(i);
icon.setImageResource(model.icon);
name.setText(model.name);
return v;
}
}
}
3.以上我们就设置好了我们自己需要的View空间了,我们只需要在Activity_main_xml中加入我的自定义控件就好了
image.png
关于单例设计模式的步骤:
1.禁用构造方法,我们采取的将构造方法私有化。
2.在该类中设置静态变量,实现其构造方法,这样就可以了。
(待完善)