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

Всего несколько строк, чтобы объяснить причину, по которой this не работает:

i = new Intent(this, MainActivity.class)

Цель создана внутри другого класса, здесь анонимный внутренний класс OnClickListener. Таким образом, this не ссылается на экземпляр вашего действия (или контекста), как предполагалось, а на экземпляр вашего анонимного внутреннего класса OnClickListener.

Итак, вы должны указать правильный контекст своего класса.

i = new Intent(YourClassName.this, MainActivity.class)
1
задан Ben Burk 13 July 2018 в 16:08
поделиться

2 ответа

Не существует предопределенного стиля, поэтому вы должны следовать стандартам проекта / команды, в которой вы работаете.

Хорошая идея состоит в том, чтобы группировать их логически, таким образом, чтобы ваш код был нацелен легче понять.

Тем не менее, этот вопрос в основном основан на мнениях и оффтопике здесь, поэтому я голосую, чтобы закрыть его.

0
ответ дан nosklo 17 August 2018 в 12:26
поделиться

Если он не включен в документ PEP, нет стандартного сообщества.

В моем последнем проекте мы организуем их в порядке инкрементного развития: поместите методы ведения домашнего хозяйства (например, __init__ ), затем те, которые полезны для отладки (например, __repr__), затем основные компараторы (__lt__, __contains__), поддержка итерации, продолжающиеся в порядке специфичности типов.

0
ответ дан Prune 17 August 2018 в 12:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: