我是 kotlin 的初学者,我试图将上下文作为参数传递,但不起作用...... 这些是我的代码:
函数保存数据库
private fun saveDatabase(context : Context){
val fightersName = Match(1, fighter1.toString(), fighter2.toString(),
minute.toInt(), round.toInt())
val db = DBContract(context)
db.insertData(fightersName)
}
调用函数
saveDatabase(context)
警告
Typemismatch Required: Context Found: Context?
此类是扩展 Fragment() 的 fragment
最佳答案
您的函数需要一个非空 Context 对象,而您正在使用可为空且可变的 Context 对象调用它。如果您确定您的上下文不为空,请调用
saveDatabase(context!!)
!! 表示您保证该对象不为 null
或者您可以检查您的功能以确保安全,然后将您的功能更改为
private fun saveDatabase(context : Context?){
if(context != null){
val fightersName = Match(1, fighter1.toString(), fighter2.toString(),
minute.toInt(), round.toInt())
val db = DBContract(context)
db.insertData(fightersName)
}
}
关于java - 如何将上下文作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50766827/