设计模式总结之适配器模式

来源:互联网 发布:python编码汉字互转 编辑:程序博客网 时间:2024/06/05 19:05

适配器模式是一种很常见的模式,做过安卓的想必对适配器再熟悉不过了,对于生活中的例子比如你需要在欧洲国家使用美国制造的笔记本电脑,就可能需要一个交流电的适配器,用来让美式插头也可以通过适配器得到电力。

下面这段代码是我稍微模仿ListView的适配器模式,但实际上ListView的适配要比我的麻烦的多的多。。。

public interface Adapter {public int getCount();public Object getItem(int position);public long getItemId(int position);public View getView(int position, View convertView, ViewGroup parent);}

public class AdapterTest {public static void main(String[] args) {ListView listView = new ListView();ArrayList<String> arrayList = new ArrayList<>();arrayList.add("一");arrayList.add("二"); listView.setListAdapter(new MyTestAdapter(arrayList));listView.obtainView();}}
public abstract class BaseAdapter extends ListAdapter{}

public abstract class ListAdapter implements Adapter{}
public class ListView extends View{private ListAdapter listAdapter;private static ViewGroup vp = new ViewGroup(); public ListAdapter getListAdapter() {return listAdapter;}public void setListAdapter(ListAdapter listAdapter) {this.listAdapter = listAdapter;}public void obtainView(){for (int i = 0; i < listAdapter.getCount(); i++) {listAdapter.getView(i, this, vp);//实际上list对此的操作要麻烦的多}}}
public class MyTestAdapter extends BaseAdapter{ArrayList<String> arrayList;public MyTestAdapter(ArrayList<String> arrayList) {super();this.arrayList = arrayList;}  @Overridepublic int getCount() {// TODO Auto-generated method stubreturn arrayList.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {View view = new View();return view;}}
public class View {public static int i = 0;public View() {i++;System.out.println(i);}}
public class ViewGroup extends View{}







0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 眼球有出血点是怎么办 吃阿胶上火了该怎么办 胎儿胼胝体发育不良怎么办 鸡眼看到硬芯了怎么办 小脚趾起茧子疼怎么办 脚起老茧很痛怎么办 化疗后骨髓抑制严重怎么办 胃炎引起的胃胀怎么办 胃病胀肚子很鼓怎么办 小孩淋巴结发炎肚子疼痛怎么办 顺产后子宫脱垂怎么办 顺产完子宫脱垂怎么办 额头长了个鱼鳞怎么办 脸上长了很多痣怎么办 做过狐臭的疤痕怎么办 痤疮留下的红印怎么办 脸上疤掉了黑印怎么办 脸上有黑色的疤怎么办 一只眼睛外斜视怎么办 残币银行不给换怎么办 手上有多套房的怎么办 长了两层脚指甲怎么办 指甲长了两层怎么办 脚趾甲长了两层怎么办 产妇气血虚没奶怎么办 哺乳期气血不足奶水少怎么办 刚怀孕喝了啤酒怎么办 受风怎么办最快最有效 孕妇后背受风了怎么办 肩膀和后背受风怎么办 手指关节杵肿了怎么办 骨关节退行性变怎么办 疼风脚趾肿了怎么办 痛风脚右侧肿了怎么办 痛风引起的脚肿怎么办 老人腰闪了该怎么办 腰闪了站不起来怎么办 又怕冷又爱上火怎么办 肝上多发小囊肿怎么办 5岁宝宝咳嗽厉害怎么办 5岁宝宝咳嗽有痰怎么办