Android SimpleAdapter适配器使用详解
AndroidSimpleAdapter使用详解
HolderAdapter背景
Android的AdapterView用的比较多,ListView,GridView,Spinner等,原生的BaseAdapter对ViewHolder没有支持,每次都要,定义内部类,inflater根布局,对item内部view设置clicklistener并转发到adapter的调用者等。写的次数多了感觉很繁琐,于是写了个简单的封装,简化Adapter的编写,
仓库连接http://git.oschina.net/phodev/SimpleAdapter.
主要文件介绍
1,CommonAdapter.java从BaseAdapter继承,添加了常用的函数,通过泛型约定了List数据源,代替子类实现getCount功能,添加bindClick实现Adapter的OnItemClickListener。
2,BaseViewHolder.java和HolderAdapter结合,实现类似Activity的view初始化方方式onCreate->setContentView->findViewById。
3,HolderAdapter.java从CommonAdapter继承,主要用来驱动BaseViewHolder工作。
使用方法
1,Adapter定义
publicclassSampleHolderAdapterextendsHolderAdapter
2,Adapter使用
//数据源 privatefinalArrayListmData=newArrayList<>(); //创建Adapter并绑定数据源 privatefinalSampleHolderAdaptermAdapter=newSampleHolderAdapter(mData); @Override protectedvoidonCreate(@NullableBundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mListView=(ListView)findViewById(R.id.listview); //绑定Adapter mListView.setAdapter(mAdapter); //设置clicklistener(由于CommonAdapter支持,并通过bindClick声明) mAdapter.setOnItemClickListener(onItemClickListener); } //ClickListener实现 privateOnItemClickListeneronItemClickListener=newOnItemClickListener(){ @Override publicvoidonItemClick(CommonAdapter>adapter,Viewv,intposition,intaction){ switch(action){//action就是我们SampleHolderAdapte中定义并且bindClick的value caseSampleHolderAdapter.CLICK_ACTION_ADD: toast(getContext(),position+"addclick"); break; caseSampleHolderAdapter.CLICK_ACTION_UPDATE: toast(getContext(),position+"updateclick"); break; caseSampleHolderAdapter.CLICK_ACTION_DELETE: toast(getContext(),position+"deleteclick"); break; } } };
到此定义和使用的代码完毕。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
热门推荐
10 高考送考祝福语简短
11 日语送考祝福语简短
12 玫瑰礼盒祝福语大全简短
13 送女士祝福语长辈简短
14 新郎表白成语祝福语简短
15 双节祝福语简短唯美
16 美好的成语祝福语简短
17 乔迁仪式文案祝福语简短
18 外婆祝福语短句唯美简短