Несоответствие типов: Обязательное: Контекст, Найдено: Намерение - PullRequest
0 голосов
/ 15 июня 2019

Я создал пользовательский Preference ClickPreference:

class ClickPreference(context: Context, attrs: AttributeSet) : Preference(context, attrs), View.OnClickListener {

    override fun onBindViewHolder(holder: PreferenceViewHolder?) {
        super.onBindViewHolder(holder)
        val box = holder?.itemView
        box?.setOnClickListener(this)
    }

    override fun onClick(v: View?) {
        action(title)
    }

    fun action(title: CharSequence){
        when (title){
            "email" -> {
                ...
            }
            "Logout" -> {
                LoginManager.getInstance().logOut()
                val intent = Intent(context, MainActivity::class.java) // context is from getContext()
                startActivity(intent)
            }
        }
    }


}

Однако я получаю эту ошибку на startActivity():

enter image description here

Я не понимаю, почему это неправильно, поскольку это действительный Intent конструктор .

Есть идеи?

1 Ответ

3 голосов
/ 15 июня 2019

Попробуйте это:

val intent = Intent(context, MainActivity::class.java)
context.startActivity(intent)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...