android studio创建文件,如何在Android Studio中创建File Templates

标签: File Template Android Studio

我发现一个可以让写程序变得简单的方法,那就是自定义文件模板(Custom File Templates).那么什么是File Templates呢?说白了,就是一个已经包含一部分代码的源文件

如何创建File Templates

首先,找到创建File Template的位置,依次打开File ==> Setting ==> Editor ==> File and Code Templates

c0c509223e29?nomobile=yes

File Templates Settings

之后点击 +号添加一个File Template,这里需要填写 File Template的名称和代码。在本次案例中,我们将创建一个实现了部分方法的RecyclerViewAdapter的File Template。因此就取名叫RecyclerViewAdapter

c0c509223e29?nomobile=yes

RecyclerViewAdapter

之后你就可以在下方的代码区域粘贴或者编写你的模板代码了。这里有几个预置的变量可以使用,当文件被创建的时候,这些预置的变量将会被 将会被对应的值替代,变量如下:

${NAME} 选择的文件的文件名

${PACKAGE_NAME} 包名

${DATE} 系统当前的时间

当然,你也可以自定义变量,在本案例中,我们需要提供ViewHolder类和集合List的类型,所以自定义变量分别为${VIEWHOLDER_CLASS}和${ITEM_CLASS}

那么现在就来编写用于创建模板的代码,代码如下:

#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("File Header.java")

public class ${NAME} extends RecyclerView.Adapter {

private final Context context;

private List items;

public ${NAME}(List items, Context context) {

this.items = items;

this.context = context;

}

@Override

public ${VIEWHOLDER_CLASS} onCreateViewHolder(ViewGroup parent, int viewType) {

View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.${LAYOUT_RES_ID}, parent, false);

return new ${VIEWHOLDER_CLASS}(v);

}

@Override

public void onBindViewHolder(${VIEWHOLDER_CLASS} holder, int position){

${ITEM_CLASS} item = items.get(position);

//TODO Fill in your logic for binding the view.

}

@Override

public int getItemCount() {

if (items == null){

return 0;

}

return items.size();

}

}

当你想要使用这个文件模板时,会提示你提供相关变量的值,比如${VIEWHOLDER_CLASS}和${ITEM_CLASS},填写的值会自动替换对应的变量,非常的方便。

要使用已经定义好的File Template,只需要选中要创建位置的文件夹,然后点击鼠标右键,再点“New”,你就可以在列表中看到刚创建的File Template的名字

c0c509223e29?nomobile=yes

Selecting custom template

点击RecyclerViewAdapter后填写相关变量的值

c0c509223e29?nomobile=yes

Fill In Custom Template Variables

填写完后点击"OK",之后你就可以看到自动生成的代码了

c0c509223e29?nomobile=yes

Generated Class From Template

这样,今后我要实现一个RecyclerView的Adapter时,就不用再去写那么多代码了

如果你有一些比较好的代码模板,也可以分享给我哦 *_*,我的博客: http://www.bit100.com

@author zhongzilu

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460019.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

odoo 中多币种处理(外币处理)

2019独角兽企业重金招聘Python工程师标准>>> 1. odoo多币种处理 http://www.cnblogs.com/godzone/archive/2012/11/05/2754436.html 2. OpenERP的价格表(Pricelist)机制: http://www.chinamaker.net/html/2011/study_1123/78.html 3. odoo …

android handler、looper、message、messageQueue、

一:handler,looper,message,messagequeue,thread handler: 消息处理着,负责Message消息的发送(handler.sendMessage(....))以及处理消息,对于handler处理消息则需要实现h…

h5 android数字键盘,【笔记】移动端H5数字键盘input type=number的处理(IOS和Android)...

在Vue中的项目,基于VUX-UI开发,一个常见的需求:1、金额输入框2、弹出数字键盘3、仅支持输入两位小数,限制最大11位数,不允许0开头第一,首先想到额就是在VUX-UI中制定typenumber。--不可行VUX中的文档和代码…

Sybase数据库应用系统调优的五大领域

Sybase数据库应用系统调优的五大领域 2011/3/14/13:49来源:慧聪it网本 文以“某大型商业银行的网上银行系统”这一很具有典型意义的企业级大型Sybase数据库应用系统为例,涉及了数据库应用系统调优的五大领域:压力测试、 应用端调优、服务器端…

JQGrid 参数、属性API

JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信。 JQGrid Demo 是一个在线的演示项目。在这里,可以知道jqgrid可以做什么事情。下面是转自其他人blog的一个学习资料,与其说是学习资料,说成查询帮助文档更…

android 6.0 ios9谁快,没安卓6.0流畅?iOS 9突飞猛进终于不卡

今天早些时候,iOS 9.1正式发布,改进系统Bug,添加新功能等,但还有不少反应系统流畅了。不知道是否是心里作用的关系,之前不少果粉吐槽iOS 9过于卡顿,苹果也是在一个版本一个版本的改进,这次的iOS…

(UML两个汇总)九种图。

最后总结UML关系,有明确的关系,现在让我们总结一下UML九图。。图往往比文字要直观,因此,当我们开发软件。文件必须是不可或缺的人物,。以下我将这九种图分了一下: 我们还能够将这九种图分为静态图和动态图&…

AutoMapper搬运工之自定义类型转换

前言 最近还挺忙,还有点累,一直都没更新了,实在是懒呀。正题之前先说点别的,最近公司要扩张了,需要大量开发,领导说推荐有钱可以拿,如此好机会,我就趁机做个广告。ShippingRen.com招…

XML基础

XML的英文全称是Extensible Markup Language,中文翻译为可扩展标记语言。它是网络应用开发的一项新技术。 与HTML一样,XML也是一种标记语言,但是XML的数据描述能力比HTML强,XML具有描述所有已知和未知数据的能力。XML扩展性比较好…

html使标签为正方形,W3C CSS测试答案

您的回答:1.CSS 指的是?您的回答:Cascading Style Sheets2.在以下的 HTML 中,哪个是正确引用外部样式表的方法?您的回答:3.在 HTML 文档中,引用外部样式表的正确位置是?您的回答&…

SqlBulkCopy 批量复制数据到数据表

使用 SqlBulkCopy 类只能向 SQL Server 表写入数据。但是,数据源不限于 SQL Server;可以使用任何数据源,只要数据可加载到 DataTable 实例或可使用 IDataReader 实例读取数据 使用Datatable作为数据源的方式:下面的代码使用到了Co…

OC-封装、继承、多态

面向对象的三大特征:封装、继承、多态 1.封装 什么是封装:在程序上,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将对象得到的数据和行为(或功能&#xff0…

Android Ac 控件,Android控件--MultiAutoCompleteTextView

1.功能可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个选中的时候再次输入值时会自动匹配,可用在发短信、发邮件时选择联系人这种类型当中。2.独特属性android:completionThreshold"3" ----设置输入多少字符时自…

BZOJ1299 [LLH邀请赛]巧克力棒

怎么又是博弈论。。。我去 Orz hzwer,这道题其实是可以转化成Nim游戏的! "第一步: 先从n根巧克力棒中取出m(m>0)根,使得这m根巧克力棒的xor和为0,同时使得剩下的n-m根巧克力棒无论怎么取,xor和都不…

android 安装应用程序apk安装不了

今天用测试机的时候遇到这个问题 解决办法: 在设置里面找到应用程序管理安全设置,,【允许未知来源程序安装】 -------------大致以上思路,具体按钮名称我就不重新去找了------------------

华为鸿蒙消费者,王成录谈鸿蒙挑战和华为消费者业务崛起

据 IDC 数据,全球智能手机出货量已连续 4 年下滑,在移动互联网之后,IoT 被认为是下一个更大量级的机会。在此背景下,鸿蒙是华为力图在 IoT 时代继续领先的关键项目,而面对贸易封锁,鸿蒙也成了华为冲出重围的…

读小米的《参与感》书的摘录(一),与大家分享!

1、互联网思维就是口碑为王 其实在过去选择产品,我们也一直会通过朋友或专家的口碑推荐来做决策,但不是主流。而今天口碑为王的背后,我理解我们面临的信息传播发生了一下三个重要的转变:1、信息从不对称转变为对称;2、…

Fragment的保存

2019独角兽企业重金招聘Python工程师标准>>> 一、场景 在一个fragment播放语音文件,一旦设备发生旋转,播放将暂停。因为fragment将重新生成。具体的流程步骤如下: 二、解决的方式 在Fragment的onCreate方法中,设置s…

html+监听+页面滚动到底部,解决HTML5中滚动到底部的事件问题

问题:在H5中,我们有这样的需求:例如有列表的时候,滚动到底部时,需要加载更多。解决方案:可以采用window的滚动事件进行处理分析:如果滚动是针对整个屏幕而言的(不针对于某个界面小块)&#xff0…

SQL Server 存储引擎-剖析Forwarded Records

我们都知道数据在存储引擎中是以页的形式组织的,但数据页在不同的组织形式中其中对应的数据行存储是不尽相同的,这里通过实例为大家介绍下堆表的中特有的一种情形Forwared Records及处理方式. 概念 堆表中,当对其中的记录进行更新时,如果当前数据页无法满足更新行的容量,此时这…