android.view.View
으로 직접 확장되는 사용자 정의보기를 작성하고 있습니다. mScrollX
또는 mScrollY
필드에 액세스하려고하면 "해결할 수 없거나 필드가 아닙니다."라는 오류 메시지가 나타납니다. source code for android.view.View에는 mScrollX, mScrollY 및 유사한 변수가 protected
으로 선언되어 있습니다. 직접 하위 클래스가 상위 클래스의 보호 된 필드에 액세스 할 수없는 이유는 무엇입니까? (ScrollView과 같은 클래스가 가능합니다.)보호 된 필드가 하위 클래스에 표시되지 않습니다.
P.S. 내가 getScrollX()
라고 부를 수 있다는 것을 알았지 만이 필드를 업데이트하고 싶습니다. setScroll()
에는 부작용이 있습니다. 원하지 않는 부작용이 있습니다.
이상한 하위 클래스는 다른 패키지에 있어도 수퍼 클래스의 보호 된 변수에 액세스 할 수 있습니다. 나는 당신이 틀린 버전을 사용하고 있다고 생각합니다. 코드 일부를 보여줄 수 있습니까? –
동작이 확인되었습니다. –