Два двойных вложенных анонимных внутренних класса. Как получить анонимных членов класса 1-го уровня?

Внутренний класс — это Adapter, внутренний-внутренний класс — это Listener. Как получить доступ к (скрытым) членам/методам адаптера из Listener?

list.setAdapter(new Adapter() {
  public View getView() {
    // ...
    button.setListener(new Listener() {
      public void onClick() {
        Adapter.this.remove(item);
      }
    );
  }
});

Обычно для доступа к членам внешних классов вы просто говорите Outer.this.member, но в этом случае это дало мне следующую ошибку (с использованием фактического класса):

error: not an enclosing class: ArrayAdapter

Итак, как вы должны получить доступ члены внутреннего класса из внутреннего внутреннего класса? Мне не нравятся многоуровневые вложенные анонимные классы, но в этом случае я изучаю новый API и еще не уверен в более чистом способе. У меня уже есть обходной путь, но в любом случае хотел бы знать. remove() на самом деле не скрыт внутри-внутренним классом, поэтому указание класса на самом деле не нужно в этом случае, но хотел, чтобы в коде было ясно, где именно находится этот метод remove(). Я также хотел знать, если он скрыт. Я считаю, что использование Outer.$6.remove()будет работать, но я также не думаю, что так должно быть.

-121-- -117 9476-

Почему light($color,50%) анализируется как белый?Этот дерзкий фрагмент: $red: #f00 $lightred: lighten($red, 50%) body background: $lightred Анализируется как: body { background: white; } Если вместо 50% вместо 45%, это будет работать как...

Этот фрагмент sass:

$red: #f00

$lightred: lighten($red, 50%)

body
  background: $lightred

Анализируется как:

body {
  background: white; }

Если вместо 50% вместо 45%, кажется, для работы, как ожидалось:

$lightred2: lighten($red, 45%)
...
background-color: #ffe5e5

Почему это становится белым вместо ожидаемых 50% красного?

Вы можете увидеть это в действии здесь http://tinkerbin.com/OefelPoi

(Примечание. Функция сохранения, похоже, имеет ошибку, в области css снова выберите Sass Old Syntax и перезапустите )

Обновление -

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

mix($color,white, 10%)

12
задан asawyer 31 March 2012 в 23:14
поделиться