Защищенные поля, не видимые для подклассов

Я пишу пользовательское представление, которое напрямую расширяет android.view.View . Если я пытаюсь получить доступ к полям mScrollX или mScrollY , я вижу ошибку, что поле «не может быть разрешено или не является полем». Исходный код для android.view.View имеет mScrollX, mScrollY и аналогичные переменные, объявленные защищенными . Как получается, что мой прямой подкласс не может получить доступ к защищенным полям своего родительского класса? (Классы вроде ScrollView , по-видимому, могут.)

PS Я понимаю, что могу вызвать getScrollX () , но я хочу обновить эти поля; вызов setScroll () имеет нежелательные побочные эффекты.

15
задан Ted Hopp 6 February 2011 в 21:20
поделиться