我正在尝试访问fragment
内的数据库处理程序,但它引发了此错误does not have companion object error
。我尝试了数据库处理程序查询及其正常工作。任何帮助表示赞赏。
使用的语言
Kotlin
代码
class OneFragment : Fragment() {
companion object
{
//Error in the below context
var db=TestDatabaseHandler(Context)
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,savedInstanceState: Bundle?): View? {
{
var a=db.readData()
}
}
答案 0 :(得分:0)
您无法访问context
内部的companion object {}
。改为将db
更改为此类OneFragment
的字段
class OneFragment : Fragment() {
val db by lazy { TestDatabaseHandler(context!!) }
override fun onCreateView(...)
var a = db.readData()
}
}
参考-Property delegation in Kotlin ,作者Antonio Leiva