Kotlin定义静态变量、静态方法
kotlin定义静态变量、方法可以采用伴生对象companion object的方式。
经典例子,实例化Fragment。
java写法:

public class TestFragment extends Fragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
private String mParam1;
private String mParam2;

public TestFragment() {
}

public static TestFragment newInstance(String param1, String param2) {
TestFragment fragment = new TestFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_test, container, false);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
kotlin写法:

class TestFragment : Fragment() {
companion object {
private val ARG_PARAM1 = "param1"
private val ARG_PARAM2 = "param2"

fun newInstance(param1: String, param2: String): TestFragment {
val fragment = TestFragment()
val args = Bundle()
args.putString(ARG_PARAM1, param1)
args.putString(ARG_PARAM2, param2)
fragment.arguments = args
return fragment
}
}

private var mParam1: String? = null
private var mParam2: String? = null

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (arguments != null) {
mParam1 = arguments!!.getString(ARG_PARAM1)
mParam2 = arguments!!.getString(ARG_PARAM2)
}
}

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_test, container, false)
}
}
---------------------
作者:清风徐来qfxl
来源:CSDN
原文:https://blog.csdn.net/xuyonghong1122/article/details/80268981
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章

  1. Android基础总结(三)
  2. Servlet解决参数乱码问题
  3. MIME(多用途互联网邮件扩展类型)
  4. errno.h
  5. 【原创】如何用Android Studio断点安卓自带Service或Bind类型的Service
  6. 《隆重介绍 思源黑体:一款Pan-CJK 开源字体》
  7. “破锣摇滚”乐队(codevs 1444)
  8. POJ 1386 Play on Words(欧拉图的判断)
  9. mysql delete数据 空间占用不减少的解决办法
  10. ASP.NET环境下配置FCKEditor并上传图片及其它文件
  11. discuz注册 内部错误
  12. android studio如何查看数据库文件
  13. Linux上安装二进制文件MySQL详解
  14. 利用PowerDesigner15在win7系统下对MySQL 进行反向工程(二)
  15. CF765F Souvenirs
  16. insert /*+append*/为什么会提高性能
  17. Ubuntu下安装程序的三种方法(转)
  18. ALGO-125_蓝桥杯_算法训练_王、后传说(DFS)
  19. leetcode41
  20. 跨域请求:JSONP

热门文章

  1. UI自动化前置代码
  2. [CF1182F]Maximum Sine
  3. 二叉搜索树第k个节点
  4. vue双向数据绑定对于数组和新增对象属性不能监听的解决办法
  5. List of yellow pages
  6. 术语-BLOB:BLOB
  7. 【SQL SERVER】常见问题
  8. 【转载】Spring boot学习记录(一)-入门篇
  9. docker实现分布式项目部署
  10. [Linux] 016 压缩解压命令