2014-12-08 2 views
0

저는 Kilibolt Tutorial로 다시 붙어 있습니다.하지만 이제는 또 다른 경우입니다. 다각형을 그릴 필요가 있지만 안드로이드에는 그런 방법이 없습니다. 그래서 나는 이것을 봤고 내가 필요한 것을 발견했다. 다각형을 그리려면 drawPath 메소드 (경로 경로, 페인트 페인트)가 필요합니다. 어디서나 android.graphics.Canvas를 가져온 다음이 메소드를 인터페이스 "Graphics"에 추가하십시오 (Kilobolt Tutorial에서와 같이). 그 후에 "AndroidGraphics"클래스는 추가 할 구현되지 않은 메소드가 있으며 추가한다고 덧붙입니다. 그리고 나는 이것을 얻는다.인터페이스에 기존 메서드 추가

@Override 
    public void drawPath(Path path, Paint paint) { 
     // TODO Auto-generated method stub 

    } 

그런 의미로 필요한 방법이 효과가 있습니까?

답변

0

전혀 ...

단지 구현해야한다는 의미입니다.

IDE가 자동으로 코드를 컴파일하는 방법을 자동으로 생성합니다.

메서드가 "void를 반환하기 때문에"물론 "자동 생성 된 메서드 스텁"은 아무 작업도 수행하지 않습니다.

int가 리턴 된 경우, 생성 된 스텁은 아마 0을 리턴했을 것입니다. Object 또는 서브 클래스 인 경우 null; 등 등

그것은 그냥 댓글이가 구현을 제공해야 할 단지 알림 ...

이다; 원하는 경우 IDE 환경 설정을 편집하고이를 다음과 같이 바꿀 수 있습니다 :

// TODO need an implementation here 

또는 무엇인가.


편집 : 실제로 이것은 IDE의 버그입니다. 이것은 인터페이스로부터 구현 된 메소드가 아니라 수퍼 클래스에서 오버라이드 된 메소드이다; 아직 템플릿 엔진은 super에 대한 호출을 생성하지 않았습니다 ...

+0

하지만 Canvas에 이러한 메소드가 있습니다 - http://developer.android.com/reference/android/graphics/Canvas.html#drawPath(android .graphics.Path, android.graphics.Paint) 여기에 무슨 일이 일어나는 지 모르지만이 방법의 소스 코드를 찾을 수 없습니다. – user218649

+0

이것은 사용중인 IDE의 버그 인 것 같습니다. 메서드를 재정의하도록 선택한 경우 super 메서드에 대한 호출이 생성되었지만 호출되지 않았어야합니다. 적어도'super.drawPath (path, paint); '를 호출해야한다. – fge

+0

"drawPath (Path, Paint) 메서드는 Object 유형에 대해 정의되지 않았습니다." 그게 내가 이걸 메서드에 추가했을 때 말하는거야. – user218649

관련 문제