Java / Android (클래스-> 익명 클래스)에서 재정의가 작동하지 않습니다. 왜?

Filnik

간단한 상속 문제가 있는데 .. 해결할 수 없습니다.

이것은 기본 클래스입니다.

public abstract class RpcOkCallback extends RpcTupleCallback
{
    // [...] constructor [...]

    public boolean callback(int responseCode, final String module, boolean flag){
        if (flag){
            return onResponse(responseCode, module);
        } else {
            return onError(responseCode, module);
        }
        return false;
    }

    protected abstract boolean onResponse(int responseCode, String module);

    protected boolean onError(int responseCode, String module){
        return true;
    }
}

그리고 이것은 기본 클래스를 재정의하는 익명 클래스입니다.

new RpcOkCallback("color_seek_ir", "set_flash_ir"){
        @Override
        protected boolean onResponse(int responseCode, String module) {
            if (seekBar != null) seekBar.setEnabled(true);
            return true;
        }

        @Override
        protected boolean onError(int responseCode, String module) {
            if (seekBar != null) seekBar.setEnabled(true);
            return true;
        }

    }

질문은 .. onResponse 메서드가 호출 될 때 재정의 된 메서드를 올바르게 호출하는 반면 onError 메서드를 호출 할 때 기본 케이스 ( "return true"메서드)를 호출하는 이유는 무엇입니까? 나는 "return error"메소드도 추상화를 선언하려고했고 그것은 작동한다 ... 그러나 나는 모든 익명 클래스에서 이와 같은 기본적인 메소드를 선언하고 싶지 않다.

어떤 생각? 감사 :)

Filnik

나는 문제를 발견했다. 실제로 올바르게 작동하지만 (재정의하는 부분) 콜백은 이미 다른 "onError"메소드 (재정의되지 않음)에 의해 처리되었으며 "return true"로 인해 이벤트가 최종 목적지에 도달하기 전에 취소되었습니다.

초록을 추가하고 모든 방법을 정의하여 작업을 수행 했으므로 corsair에게 감사드립니다 (답변을 추가하거나 질문을 해결 한 것으로 표시 할 내용을 표시합니다 :)).

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

익명 클래스는 추상이 아니며 재정의하지 않습니다 (Android + Retrofit).

분류에서Dev

익명 클래스에 구현 된 재정의 메서드가 인식되지 않습니다.

분류에서Dev

왜 방법 ()와 super.method () 익명의 하위 클래스에서 다른 것을 참조합니까?

분류에서Dev

Java에 익명 클래스가 존재하는 이유는 무엇입니까?

분류에서Dev

Android Studio : 앱이 구현 된 익명 Java 클래스로 시작되지 않음

분류에서Dev

서블릿으로 작동하지만 Java 클래스로는 작동하지 않습니다. 왜?

분류에서Dev

Java에서 수퍼 클래스를 가져올 수 있는데 왜 다른 클래스로 하위 클래스를 가져올 수 없습니까?

분류에서Dev

어떤 내장 Java 클래스가 equals 및 hashcode 메소드를 재정의하지 않습니까? 왜?

분류에서Dev

익명의 내부 클래스는 외부 클래스 멤버에 영향을주지 않습니다.

분류에서Dev

Java에서 익명 클래스를 사용하는이 패턴의 이름이 있습니까?

분류에서Dev

Java 익명 클래스에서 재정의 된 메서드를 어떻게 호출 할 수 있습니까?

분류에서Dev

Android : getLayoutInflater 정적 클래스에서 작동하지 않음

분류에서Dev

페이지 변경 명령이 클래스 내의 정의에서 작동하지 않습니다.

분류에서Dev

익명의 내부 클래스를 Java에서 람다로 만들기

분류에서Dev

익명의 클래스 액션 리스너가 Java GUI를 종료하는 데 작동하지 않는 이유는 무엇입니까?

분류에서Dev

@Autowired가 @Configurable 클래스에서 작동하지 않습니다.

분류에서Dev

익명 내부 클래스의 Java Eclipse Android 구문 오류

분류에서Dev

Java-자식 익명 클래스에서 메서드를 강제로 재정의하는 방법은 무엇입니까?

분류에서Dev

OnClickListener의 Android 하위 클래스가 작동하지 않습니다.

분류에서Dev

OrientDB getVertices가 Java 생성 클래스 / 인덱스에서 작동하지 않습니다.

분류에서Dev

생성자가 Java 클래스에서 정의되지 않았습니다.

분류에서Dev

왜 래퍼 클래스와 '<', '>'이 작동하지 않습니다 않는 '=='동안?

분류에서Dev

여러 실행 가능한 인터페이스가 클래스 내의 익명 클래스에서 구현 될 때 CountDownLatch가 작동하지 않는 이유를 확인할 수 없습니다.

분류에서Dev

Scala에서 람다는 어떻게 작동합니까? 익명의 클래스 위에서 작동합니까?

분류에서Dev

로거 핸들러가 다른 클래스 Java에서 작동하지 않습니다.

분류에서Dev

onClickListener를 구현하는 Java 클래스에서 setResult가 작동하지 않습니다.

분류에서Dev

LocationListener의 RemoveUpdates가 서비스 클래스에서 작동하지 않습니다.

분류에서Dev

Android의 다른 Java 클래스의 정적 메소드에서 활동 클래스의 ArrayList 객체에 어떻게 액세스 할 수 있습니까?

분류에서Dev

Onactivityresult가 중첩 된 조각 클래스 android에서 제대로 작동하지 않습니다.

Related 관련 기사

  1. 1

    익명 클래스는 추상이 아니며 재정의하지 않습니다 (Android + Retrofit).

  2. 2

    익명 클래스에 구현 된 재정의 메서드가 인식되지 않습니다.

  3. 3

    왜 방법 ()와 super.method () 익명의 하위 클래스에서 다른 것을 참조합니까?

  4. 4

    Java에 익명 클래스가 존재하는 이유는 무엇입니까?

  5. 5

    Android Studio : 앱이 구현 된 익명 Java 클래스로 시작되지 않음

  6. 6

    서블릿으로 작동하지만 Java 클래스로는 작동하지 않습니다. 왜?

  7. 7

    Java에서 수퍼 클래스를 가져올 수 있는데 왜 다른 클래스로 하위 클래스를 가져올 수 없습니까?

  8. 8

    어떤 내장 Java 클래스가 equals 및 hashcode 메소드를 재정의하지 않습니까? 왜?

  9. 9

    익명의 내부 클래스는 외부 클래스 멤버에 영향을주지 않습니다.

  10. 10

    Java에서 익명 클래스를 사용하는이 패턴의 이름이 있습니까?

  11. 11

    Java 익명 클래스에서 재정의 된 메서드를 어떻게 호출 할 수 있습니까?

  12. 12

    Android : getLayoutInflater 정적 클래스에서 작동하지 않음

  13. 13

    페이지 변경 명령이 클래스 내의 정의에서 작동하지 않습니다.

  14. 14

    익명의 내부 클래스를 Java에서 람다로 만들기

  15. 15

    익명의 클래스 액션 리스너가 Java GUI를 종료하는 데 작동하지 않는 이유는 무엇입니까?

  16. 16

    @Autowired가 @Configurable 클래스에서 작동하지 않습니다.

  17. 17

    익명 내부 클래스의 Java Eclipse Android 구문 오류

  18. 18

    Java-자식 익명 클래스에서 메서드를 강제로 재정의하는 방법은 무엇입니까?

  19. 19

    OnClickListener의 Android 하위 클래스가 작동하지 않습니다.

  20. 20

    OrientDB getVertices가 Java 생성 클래스 / 인덱스에서 작동하지 않습니다.

  21. 21

    생성자가 Java 클래스에서 정의되지 않았습니다.

  22. 22

    왜 래퍼 클래스와 '<', '>'이 작동하지 않습니다 않는 '=='동안?

  23. 23

    여러 실행 가능한 인터페이스가 클래스 내의 익명 클래스에서 구현 될 때 CountDownLatch가 작동하지 않는 이유를 확인할 수 없습니다.

  24. 24

    Scala에서 람다는 어떻게 작동합니까? 익명의 클래스 위에서 작동합니까?

  25. 25

    로거 핸들러가 다른 클래스 Java에서 작동하지 않습니다.

  26. 26

    onClickListener를 구현하는 Java 클래스에서 setResult가 작동하지 않습니다.

  27. 27

    LocationListener의 RemoveUpdates가 서비스 클래스에서 작동하지 않습니다.

  28. 28

    Android의 다른 Java 클래스의 정적 메소드에서 활동 클래스의 ArrayList 객체에 어떻게 액세스 할 수 있습니까?

  29. 29

    Onactivityresult가 중첩 된 조각 클래스 android에서 제대로 작동하지 않습니다.

뜨겁다태그

보관