패키지 내에서만 볼 수있는 숨겨진 클래스 (@hide로 표시됨)의 메소드를 재정의해야합니다. 그것을 연장 할 방법이 있습니까? 그 방법은 ReplacementSpan
아주 잘 작동하지 않기 때문에자바 숨겨진 클래스를 확장하는 방법
은보다 구체적으로, 나는 android.widget.Editor의 getNextCursorOffset()
를 오버라이드 (override) 할 필요가있다.
패키지 내에서만 볼 수있는 숨겨진 클래스 (@hide로 표시됨)의 메소드를 재정의해야합니다. 그것을 연장 할 방법이 있습니까? 그 방법은 ReplacementSpan
아주 잘 작동하지 않기 때문에자바 숨겨진 클래스를 확장하는 방법
은보다 구체적으로, 나는 android.widget.Editor의 getNextCursorOffset()
를 오버라이드 (override) 할 필요가있다.
프로젝트 내에 동일한 패키지 android.widget
을 정의 할 수 있습니다. 그런 다음 확장 할 수 있습니다.
public class ProjectSpecificEditor extends Editor {
// constructors et all
public int getNextCursorOffset() {
//...
}
}
그러나 권장하지 않습니다. 나는. 다음 버전의 프레임 워크는 일부 클래스/메소드 서명을 변경할 수 있습니다. 그렇다면 자신을 비난 할 수 있습니다.
편집기의 모든 메서드와 함께 자신 만의 데코레이터를 사용하고 getNextCursorOffset을 사용하지 않는 이유는 무엇입니까? – SMA
@SMA Editor.java를 복제 하시겠습니까? 그것은 5K + 코드 라인을 가지고 있기 때문에 미칠 것입니다. – mljli
복제 안 함. 새로운 클래스에서 편집기를 작성하고 다른 메소드의 호출을 Editor 인스턴스에 위임하는 반면 getNextCursorOffset에 대해서는 자신의 논리를 구현할 것이다. – SMA