一、Kotlin 的方便之处
1、Kotlin 可以直接使用id来呼叫操控相应的控件( textView.text = "0" )
java( TextView textView = findViewById(R.id.textView;
textView.setText("0"); ) )
原因:使用了Kotlin 的扩展的功能,import kotlinx.android.synthetic.main.activity_main.*,将界面上的控件和控制器绑定在一起,这时‘id’变成了控制类的属性;
2、kotlin 的变量定义
1)val 变量名 ,只能在初始化时赋值一次,像 java中的常量。
2)var 变量名 = 0 或 var 变量名 :Int , 若在定义时初始化则可以不写类型,IDEA 可以根据初始值判断类型。
3)java 变量定义,略。
3、按钮的监听
1)kotlin 以函数做参数
var number = 0 buttonPlus.setOnClickListener { number++ textView.text = number.toString() } buttonMinus.setOnClickListener { number-- textView.text = number.toString() }
2)java 使用匿名内部类
binding.button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { NavController controller = Navigation.findNavController(v); controller.navigate(R.id.action_titleFragment_to_questionFragment); myViewModel.getCurrentScore().setValue(0); myViewModel.generator(); } });
4、继承
1)kotlin:MyViewModel:ViewModel()
2)java:略