强大的Android Studio之省时开发--代码模板
来源:互联网 发布:淘宝网上禁止出售 编辑:程序博客网 时间:2024/06/05 19:30
在写有关RecyclerView方面的代码的时候,每次都要自己写适配器,而且适配器的大体结构都一样,但是在android studio中却不能一键创建适配器。如果有可以快速创建适配器,并且需要传入的类型由我们自己控制,其他的一些重写的方法自动生成,那这样不就能节省了一些重复的操作了嘛,省时又省力。
先来看一下图先:
创建出来的适配器类:
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyHolder> { private Context mContext; private List<String> mStrings; private LayoutInflater mLayoutInflater; private OnStringItemClickListener mOnStringItemClickListener; public void setOnStringItemClickListener(OnStringItemClickListener onStringItemClickListener) { mOnStringItemClickListener = onStringItemClickListener; } public MyAdapter(Context context, List<String> mStrings) { mContext = context; this.mStrings = mStrings; mLayoutInflater = LayoutInflater.from(mContext); } @Override public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = mLayoutInflater.inflate(, parent, false);//加载Item布局 return new MyHolder(view); } @Override public void onBindViewHolder(MyHolder holder, int position) { } @Override public int getItemCount() { return mStrings.size(); } class MyHolder extends RecyclerView.ViewHolder {//这里写Item的控件 public MyHolder(View itemView) { super(itemView); } } interface OnStringItemClickListener {//自定义点击时间回调,根据需要决定 void onStringClick(View v, int position); }}这样我们不用在手动写实现RecyclerView.Adapter和继承RecyclerView.ViewHolder,Item的类型等,只需要关注于加载Item布局,还有数据的适配了。
是不是很方便?接下来就来说怎么做这种代码模板。
依次打开 file --> Settings,找到File and Code Templates,如图:
像上面那样的适配器模板代码:
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end//这里是创建适配器所在的包名等import android.content.Context;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import java.util.List;#parse("myCustomFileHeader.java")//这是一个类的描述,比如类名称,创建时间,创建者等信息,这也是可以自定义的public class ${NAME} extends RecyclerView.Adapter<${NAME}.${ViewHolder}Holder>{//${NAME}就是一开始输入的类名,MyAdapterprivate Context mContext; private List<${MyBean}> m${MyBean}s;//Item类型,在上面的截图中可以看到的,是可以输入的,上面输入的是String private LayoutInflater mLayoutInflater; private On${MyBean}ItemClickListener mOn${MyBean}ItemClickListener; public void setOn${MyBean}ItemClickListener(On${MyBean}ItemClickListener on${MyBean}ItemClickListener){ mOn${MyBean}ItemClickListener = on${MyBean}ItemClickListener; } public ${NAME}(Context context, List<${MyBean}> m${MyBean}s) { mContext = context; this.m${MyBean}s = m${MyBean}s; mLayoutInflater = LayoutInflater.from(mContext); } @Override public ${ViewHolder}Holder onCreateViewHolder(ViewGroup parent, int viewType) { View view = mLayoutInflater.inflate(,parent,false); return new ${ViewHolder}Holder (view); } @Override public void onBindViewHolder(${ViewHolder}Holder holder, int position) { } @Override public int getItemCount() { return m${MyBean}s.size(); } class ${ViewHolder}Holder extends RecyclerView.ViewHolder{//同理,这个 ${ViewHolder}也是可以输入的,上面输入的是MY public ${ViewHolder}Holder(View itemView) { super(itemView); } } interface On${MyBean}ItemClickListener{//这里是自定义的回调接口,作为每个Item点击事件的回调,这个根据需要要决定就行了。 void on${MyBean}Click(View v,int position); }}注:${NAME},${MyBean},${ViewHolder},看到这三个的写法了吗,其实我们需要手动输入的变量就可以使用这种 ${xxx} 的写法了,任你自定义。
编辑好自己的代码模板后,apply一下,就可以使用了。
看下来是不是感觉很简单,觉得有用可以自己马上动手试一下写一个属于自己的代码模板吧,从此告别每次都要自己再写一遍适配器的窘境了。
0 0
- 强大的Android Studio之省时开发--代码模板
- Android Bootstrap:开发也能用模板,省时又省力!
- Android Bootstrap:开发也能用模板,省时又省力!
- Android Bootstrap:开发也能用模板,省时又省力!
- Android Studio模板之代码片段
- Android开发省时神器--JRebel
- Android开发省时神器--JRebel
- android studio 代码模板
- android studio 代码模板
- Android Studio 代码模板的配置
- Android Studio中代码模板的使用
- Android开发之Eclipse与Android Studio的java类 作者版权模板
- Android Studio设置代码模板
- android studio 注释-代码模板
- Android Studio自定义模板代码
- Android Studio自定义模板代码
- Android studio中快捷键和代码模板的使用
- Android studio 快速代码模板生成常用的缩写汇总
- I/O 流
- 关于Java线程转储分析
- 1367
- Python中多进程在爬虫中的使用
- 从使用到原理学习Java线程池
- 强大的Android Studio之省时开发--代码模板
- 1368
- Java8新特性第1章(Lambda表达式)
- 1445
- 京东资深架构师:高性能高并发服务的瓶颈及突破思路
- c++容器下标赋值报错
- C#datatable行转列
- Fibonacci数列
- 我的第一条博客