我正在寻找一种方法来创建一个新的Kotlin活代码模板,以便每当我输入newIns..。它和点击选项卡,它将能够打印以下作为一个活模板的选择:
companion object {
fun newInstance(b: Bundle): DetailsFragment {
val frag = DetailsFragment()
frag.arguments = b
return frag
}
}
在Java中,它也是这样做的,并且已经有了一个"newInstance“的缩写,并且在Android中存在一个活动模板。我也想给Kotlin做同样的事。让我给你看张照片:
注意,Java已经有了newInstance
模板。我想把这个送给Kotlin。以下是我到目前为止所拥有的:
到目前为止,我拥有的模板代码如下所示:
companion object {
fun newInstance($args$:Bundle):$fragment$ {
$nullChecks$
android.os.Bundle args = Bundle();
$addArgs$
$fragment$ fragment = $fragment$();
fragment.setArguments(args);
return fragment;
}
}
但是,当我退出设置,在Kotlin中键入缩写的前几个单词,点击标签或mac上的ctrl +空格键,什么都不会发生。我想我的语法不对,我不确定。有什么建议吗?
发布于 2018-07-23 11:29:43
步骤1:
转到Android中的Live部分。
For Windows:
文件>设置>编辑器>活动模板
For Mac:
Android > Preferences >编辑器> Live Template
步骤2:
选择Kotlin模板组。然后点击弹出窗口右上角的+
。选择动态模板。
步骤3:
现在您可以添加您的活动模板。检查弹出窗口的底部。
添加abbreviation: newInstance
添加description:创建带有参数的片段实例
添加模板文本:
companion object {
fun newInstance(args: Bundle): $fragment$ {
val fragment = $fragment$()
fragment.arguments = args
return fragment
}
}
添加适用的上下文。点击Define
。从列表中选择Kotlin。
根据样式选择重新格式化
步骤4:
点击编辑变量下面的描述。
现在点击表达式以获取变量名fragment
。按下箭头。您可以看到表达式的列表。从那里选择kotlinClassName()
。
点击编辑模板变量的OK
现在点击应用和OK的Live。
在用Kotlin编写的片段中检查newInstance
。
发布于 2021-12-24 02:37:48
一个稍微简化的版本(和更多的习语)将是:
fun newInstance($args$) : $fragment$ =
$fragment$().apply {
arguments = Bundle().apply {
$addArgs$
}
}
或
fun newInstance(args: Bundle) : $fragment$ =
$fragment$().apply {
arguments = args
}
https://stackoverflow.com/questions/51473637
复制相似问题