navigate<DetailActivity>("2") 使用reified类型,我们可以在一个函数内部创建一个intent,并使用扩展函数,这样我们可以直接调用startActivity()。 可选参数和默认值 借助于参数和构造函数的默认值,你将不再需要进行函数重载了。一个函数声明就可以满足你所有的需求。让我们回到toast的例子: funActivity.toast(message:Cha...
active = false) { // 创建协程 private val continuation = block.createCoroutineUnintercepted(this, this) // 监听start方法调用 override fun onStart() { // 启动协程 continuation.startCoroutineCancellable(this) } }
两个Int 参数、返回值 Int //sampleStart fun sum(a: Int, b: Int): Int { return a + b } //sampleEnd fun main() { print("sum of 3 and 5 is ") println(sum(3, 5)) } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 表达式作为函数体、返回值类型自动推断 //sampleStart fun sum(a: ...
扩展方法,其实最后生成java文件的时候,就是在方法的前面加上了static final ,没什么神奇的,最后跟我们java里面工具类的原理是一样的。 Activity间的跳转 startActivity(Intent(this@MainActivity,SecondActivity::class.java)) 密封类sealed java中没有密封类的概念,这个是kotlin独有的,他能使我们的代码更加安...
利用在Fragment中调用startActivityForResult方法后,会回调到同Fragment中onActivityResult方法、以及调用onRequestPermissionsResult方法后,会回调到同Fragment中onRequestPermissionsResult方法的特性,在调用startActivityForResult和requestPermission方法时,传入回调后保存起来,等onActivityResult和onRequestPermissionsResult方法调用时,通过...
startActivity<LinearLayoutActivity>() 究其原因,乃是Anko库利用Kotlin的扩展函数,给Context类新增了名为startActivity的新方法。故而使用简化版的写法之前,必须先导入Anko库的指定文件,即在kt文件头部添加下面一行导入语句: import org.jetbrains.anko.startActivity ...
1navigate<DetailActivity>("2") 用具体化类型,我们能够在函数内部创建intent;用扩展函数,我们能够直接调用startActivity()。 可选参数和默认值 借助于自变量和构造函数的默认值,你将不再需要进行重载函数了。一句声明可以满足你的所有要求。让我们回到toast例子: ...
importkotlinx.android.synthetic.main.activity_main.*overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)main_text.text="木子饼干"main_button.setOnClickListener{valintent=Intent(this,RecyclerViewActivity::class.java)startActivity(intent)}...
companion object { const val LEARNING_FRAGMENT_INDEX = 0 fun jumpToMe(context: Context, index: Int) { context.startActivity(Intent(context, TrainingHomeActivity::class.java).apply { putExtra(FRAGMENT_INDEX, index) }) } } 反编译后的 Java 代码: ...