Thread
Java
new Thread(new Runnable() {
@Override
public void run() {
//--------------
}
}).start();
Kotlin
Thread(Runnable {
//--------------
}).start()
Handler
Java
private Handler handler=new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
switch(msg.what){
case 0:
break;
default:
break;
}
return false;
}
});
Kotlin
private val handler=Handler(Handler.Callback{msg->
when(msg.what){
0->{}
else->{}
}
false
})
OnClickListener
Java
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
Kotlin
btn.setOnClickListener{}
RadioGroup.setOnCheckedChangeListener
Java
RadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch(checkedId){
case R.id.nav_bottom_menu_1:
break;
case R.id.nav_bottom_menu_2:
break;
case R.id.nav_bottom_menu_3:
break;
case R.id.nav_bottom_menu_4:
break;
}
}
});
Kotlin
radioMenu.setOnCheckedChangeListener { _, checkedId ->
when (checkedId) {
R.id.nav_bottom_menu_1 -> {}
R.id.nav_bottom_menu_2 -> {}
R.id.nav_bottom_menu_3 -> {}
R.id.nav_bottom_menu_4 -> {}
}
}
创建实体类
Java
public class Student{
private String name;
private int age;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public String getAge(){
return age;
}
public void setAge(String age){
this.age=age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name+ '\'' +
", age='" + age+ '\'' +
'}';
}
}
Kotlin
data class Student(var name:String,var age:Int) {
override fun toString(): String {
return "Student(name='$name', age=$age)"
}
}
//注意:
//1、声明为var类型后系统自动实现get\set方法 如果是val类型则无法用xx.name调用
//2、该类默认实现了Student(name,age)构造器,如果想在调用中以空构造器实现,需要给该类赋初值如:
data class Student(var name:String="",var age:Int=0) {
//::::::
}
判断空执行语句
Java
if(null!=user){
user.setName("xxx")
}
Kotlin
user?.name=xxx
Kotlin异步线程
//需要依赖 'org.jetbrains.anko:anko-common:0.9'
doAsync{
//------------
//切换到主线程
uiThread{
//------------
}
}