如何使按钮直接从功能可用
How to make button available directly from function
您好,我正在制作一个遵循 MVVM 结构的应用程序,我查看了本教程 https://www.youtube.com/watch?v=d7UxPYxgBoA&t=152s 在本教程中,教授使用的代码看起来像这样...
private fun initializeUi() {
val factory = InjectorUtils.provideQuotesViewModelFactory()
val viewModel = ViewModelProviders.of(this, factory)
.get(QuotesViewModel::class.java)
viewModel.getQuotes().observe(this, Observer { quotes ->
val stringBuilder = StringBuilder()
quotes.forEach{ quote ->
stringBuilder.append("$quote\n\n")
}
textView_quotes.text = stringBuilder.toString()
})
button_add_quote.setOnClickListener {
val quote = Quote(editText_quote.text.toString(), editText_author.text.toString())
viewModel.addQuote(quote)
editText_quote.setText("")
editText_author.setText("")
}
}
如您所见,他没有初始化变量来查找按钮。这怎么可能......我试图在片段中做到这一点但它不起作用?告诉我您是否需要更多代码,我会添加它。
阅读官方文档中的 Kotlin 合成器有很大帮助。
它使用 Kotlin 合成器,这是一种将布局 xml 绑定到 activity 或片段 class 的方法。您可以在 GitHub 上的项目源代码中看到它:
import kotlinx.android.synthetic.main.activity_quotes.*
但是,Kotlin 合成器已被弃用,您应该改用视图绑定。更多信息在这里:
https://developer.android.com/topic/libraries/view-binding/migration
您好,我正在制作一个遵循 MVVM 结构的应用程序,我查看了本教程 https://www.youtube.com/watch?v=d7UxPYxgBoA&t=152s 在本教程中,教授使用的代码看起来像这样...
private fun initializeUi() {
val factory = InjectorUtils.provideQuotesViewModelFactory()
val viewModel = ViewModelProviders.of(this, factory)
.get(QuotesViewModel::class.java)
viewModel.getQuotes().observe(this, Observer { quotes ->
val stringBuilder = StringBuilder()
quotes.forEach{ quote ->
stringBuilder.append("$quote\n\n")
}
textView_quotes.text = stringBuilder.toString()
})
button_add_quote.setOnClickListener {
val quote = Quote(editText_quote.text.toString(), editText_author.text.toString())
viewModel.addQuote(quote)
editText_quote.setText("")
editText_author.setText("")
}
}
如您所见,他没有初始化变量来查找按钮。这怎么可能......我试图在片段中做到这一点但它不起作用?告诉我您是否需要更多代码,我会添加它。
阅读官方文档中的 Kotlin 合成器有很大帮助。
它使用 Kotlin 合成器,这是一种将布局 xml 绑定到 activity 或片段 class 的方法。您可以在 GitHub 上的项目源代码中看到它:
import kotlinx.android.synthetic.main.activity_quotes.*
但是,Kotlin 合成器已被弃用,您应该改用视图绑定。更多信息在这里:
https://developer.android.com/topic/libraries/view-binding/migration