Доступ к обработчику базы данных внутри фрагмента - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь получить доступ к обработчику базы данных внутри 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()

    }

    }

1 Ответ

0 голосов
/ 29 декабря 2018

Вы не можете получить доступ к context внутри companion object {}.Вместо этого измените db на поле класса OneFragment, например

class OneFragment : Fragment() {

    val db by lazy { TestDatabaseHandler(context!!) }

    override fun onCreateView(...)
        var a = db.readData()
    }
}

Ссылка - Делегирование собственности в Котлине Антонио Лейва

...