之前一直使用java來開發Android項目,學了新的kotlin語言,前來試一試,並說一下kotlin對Android的一些功能增強 創建項目 我使用的是Android Studio3.0+,所以預設就支持kotlin 創建項目的時候記得勾選kotlin支持 找到實例與設置監聽器 以往我們是通過f ...
之前一直使用java來開發Android項目,學了新的kotlin語言,前來試一試,並說一下kotlin對Android的一些功能增強
創建項目
我使用的是Android Studio3.0+,所以預設就支持kotlin
創建項目的時候記得勾選kotlin支持
找到實例與設置監聽器
以往我們是通過findviewbyid來找到實例,而kotlin中提供了一種更為快捷的方式,只需要一行代碼,之後我們就可以直接使用佈局裡面的定義的各種實例了
像平常一樣,我們可以使用實例來更改控制項的內容,同時,這個按鈕也可以作為監聽器的判斷。
以往我們的點擊監聽器,使用switch或者if語句來判斷點擊的控制項,從而執行不同的操作。而kotlin中,直接使用實例判斷,具體的代碼在下麵的MainActivity.java中
switch(v.getId){
case R.id.btn:
//邏輯操作
break;
}
if(v.getId == R.id.btn){
//邏輯操作
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.wan.noveldownloader.activity.MainActivity">
<Button
android:id="@+id/btn_test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="測試" />
</android.support.constraint.ConstraintLayout>
MainActivity.java
package com.wan.noveldownloader.activity
import android.os.Bundle
import android.view.View
import com.wan.noveldownloader.R
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : BaseActivity(),View.OnClickListener {
override fun onClick(v: View?) {
when (v) {
//操作
btn_test -> showToast("htllo")
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//這裡的btn_test就是佈局文件的按鈕實例
//輸入btn_test會自動增加一行import kotlinx.android.synthetic.main.activity_main.*
btn_test.setOnClickListener(this)
}
}
跳轉
val intent = Intent(this, SettingActivity::class.java)
startActivity(intent)