Skip to content

AndroidExtensions

燒餅 edited this page Jun 29, 2017 · 1 revision

Intent Extras 存取操作

put

现在你可以通过这样 “赋值” 来存入 Extra:

val intent = Intent()
intent["EXTRA_KEY_XXX"] = value

Kotlinyan 会根据变量的类型自动选择对应的 put(*)Extra 函数调用。

get

当获取 Extra 值时,你需要调用额外的函数 intent[key].asXXX() 告诉 Kotlinyan 你想获取的对应值类型。 如果键值不存在会返回 null,若希望带默认值,请使用 Kotlin ?: 操作符取代传统 Java 设置 defValue 默认值的方法。

例如:

val id = intent["id"]?.asInt() ?: -1
val name = intent["name"]?.asString() ?: "Noname"

附上 Java 原版写法:

int id = intent.getIntExtra("id", -1);
String name = intent.hasExtra("name") ? intent.getStringExtra("name") : "Noname" ;

Bundle Extras 存取操作

使用方法同上。