Android: Почему объекту «TextView» нужна ссылка на действие в качестве аргумента? - PullRequest
0 голосов
/ 11 июля 2020

Вопрос в заголовке

Пример:

val textview = TextView(this)

Ответы [ 3 ]

1 голос
/ 11 июля 2020

Просмотры (т.е. TextView) требуют ссылки на Context. Поскольку Activity расширяет класс Context, разработчики обычно используют ключевое слово this для ссылки на контекст и выполнения требования аргумента.

1 голос
/ 11 июля 2020

Почему объекту «TextView» нужна ссылка на действие в качестве аргумента?

Если вы посмотрите на исходный код Android View , конструктор берет и сохраняет его в переменной с именем mContext:

/**
 * The application environment this view lives in.
 * This field should be made private, so it is hidden from the SDK.
 * {@hide}
 */
protected Context mContext;
// ...
public View(Context context) {
    mContext = context;
    // ...
}

Эта переменная полезна для поддержания ее жизненного цикла и используется во многих методах класса View. Например, initScrollCache , sendAccessibilityEventInternal , onScrollChanged и многие другие методы их используют.

0 голосов
/ 11 июля 2020

Почему объекту «TextView» в качестве аргумента нужна ссылка на действие?

Потому что, когда вы хотите создать TextView программно, вам нужно передать context в качестве аргумента

Например val textview = TextView(this)

Здесь this относится к вашей текущей активности.

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