博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kotlin 语法介绍
阅读量:3953 次
发布时间:2019-05-24

本文共 2570 字,大约阅读时间需要 8 分钟。

val 就是 value

var 就是 variable 简写

var number:Int = 0        var l:String = "888"

在这里插入图片描述

设置启动页的 Activity

在这里插入图片描述

package com.lyr.myapplicationimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport kotlinx.android.synthetic.main.activity_example.*class ExampleActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) setContentView(R.layout.activity_example) var number = 0 this.textView.text = "" btn_add.setOnClickListener{
textView.text = (number++).toString() } btn_decr.setOnClickListener{
textView.text = (number--).toString() } }}
package com.lyr.myapplicationimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport androidx.lifecycle.Observerimport androidx.lifecycle.ViewModelimport androidx.lifecycle.ViewModelProviderimport com.lyr.myapplication.vm.MyViewModelimport kotlinx.android.synthetic.main.activity_example.*class ExampleActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) setContentView(R.layout.activity_example) val vm :MyViewModel = ViewModelProvider(this).get(MyViewModel::class.java)// this.textView.text = vm.number.value.toString() vm.number.observe(this, Observer{
textView.text = it.toString() }) btn_add.setOnClickListener{
vm.modifyNumber(1) } btn_decr.setOnClickListener{
// textView.text = (number--).toString() vm.modifyNumber(-1) } }}
package com.lyr.myapplication.vmimport androidx.lifecycle.MutableLiveDataimport androidx.lifecycle.ViewModel/** * view model * @Author  lyr * @create 2020/10/11 20:11 */class MyViewModel : ViewModel() {
val number: MutableLiveData
by lazy {
MutableLiveData
().also {
it.value = 0 } } fun modifyNumber(n:Int) {
number.value = number.value?.plus(n)// //强制执行// number.value = number.value!!.plus(n) }}

getter 方式的写法

class MyViewModel : ViewModel() {
private val _number: MutableLiveData
by lazy {
MutableLiveData
().also {
it.value = 0 } } val number: LiveData
get() = _number fun modifyNumber(n: Int) {
_number.value = _number.value?.plus(n)// //强制执行// number.value = number.value!!.plus(n) }}

转载地址:http://nzyzi.baihongyu.com/

你可能感兴趣的文章
ubuntu flash 文字乱码解决方案
查看>>
在ubuntu中运行exe文件
查看>>
ubuntu安装命令
查看>>
和上司沟通必备8个黄金句
查看>>
联系查看两张卡的未接电话记录
查看>>
Python 3 之多线程研究
查看>>
APP第三方登录实现步骤
查看>>
KVO & KVC 比较 - KVC
查看>>
iOS-tableView联动
查看>>
iOS--Masonry解决 tableViewCell 重用时约束冲突
查看>>
git 与 svn 的主要区别!
查看>>
iOS-截屏,从相册选择图片,制作磨砂效果图片
查看>>
iOS-截取字符串中两个指定字符串中间的字符串
查看>>
数据库-数据库操作(使用FMDB)
查看>>
FMDB介绍以及在 swift 中的数据库操作
查看>>
iOS运行时机制(附Demo演练)
查看>>
宽字符串输出问题
查看>>
将整数转换为宽字符串
查看>>
在类中定义enum实现整数常量功能
查看>>
suse11通过安装最新内核可以上网的经验
查看>>