kotlin - вид доступа из неактивного класса - PullRequest
0 голосов
/ 21 апреля 2019

У меня есть класс, который нужно включить во многие мои действия, поэтому я создал класс, который должен иметь доступ к представлению. это мой код:

class Toolbar{
private lateinit var typeface:Typeface;
private lateinit var context:Context
private lateinit var tvToolbar:TextView;

fun MakeToolbar(context:Context, title:String){
    this.context=context
    init();
}

private fun init() {
    typeface= Func.getTypeFace(context)!!

    tvToolbar=((Activity)context).findViewById 

}

проблема в том, что в java я могу легко получить доступ к контексту и использовать findViewById, чтобы получить мое представление. Buy Я не могу сделать это в kotlin, и он не может найти представление.

Как я могу получить доступ к просмотру в неактивном классе?

1 Ответ

1 голос
/ 21 апреля 2019

Действительно ли tvToolbar=((Activity)context).findViewById ваш код? Событие не будет компилироваться в Kotlin или Java в этом отношении.

Синтаксически правильный путь будет следующим:

tvToolbar = (context as Activity).findViewById(R.id.tvToolbar)

Хотя я не рекомендую передавать весь объект вашей деятельности другому классу. Почему бы вам просто не передать ссылку на ваш взгляд? И обязательно прочитайте про WeakReferences .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...