2015-01-04 4 views
1

내 안드로이드 프로젝트의 외부 appCompat 라이브러리에서 SwipeRefreshLayout 클래스를 변경하려고합니다. 그러나 값을 변경하거나이 메서드에 새 메서드를 추가하면 프로젝트의 변경 사항을 볼 수 없습니다.외부 수업을 변경하는 방법은 무엇입니까?

이미 프로젝트를 새로 고치고 다시 작성합니다.

내가 변경 한 사항을 어떻게 알 수 있습니까?

+0

'클래스'를 변경한다는 것은 무엇을 의미합니까? 클래스에 코드를 추가 할 수 없습니다. .java 파일에 코드를 추가합니다. 'SwipeRefreshLayout'에 대한 코드를 변경했다면 지원 버전 V4 대신 버전을 가져 왔는지 어떻게 확인할 수 있습니까? 새 지원 V4 병을 다시 컴파일하고 있습니까? –

+0

클래스를 변경하면 android.support.v4.widget.SwipeRefreshLayout.java에서 코드를 변경하는 것이 었습니다. 변경 사항을보기 위해 내가 어떻게 다시 컴파일 할 수 있는지 알고 있습니까? –

+0

이 저장소에는 [SwipeFreshLayout] (https://github.com/android/platform_frameworks_support/blob/master/v4/java/android/support/v4/widget/SwipeRefreshLayout.java)에 대한 코드가 들어 있습니다. 그걸 로컬로 복제하고 자신의 항아리를 만들 수 있습니다. 이 질문에 대한 답변을하는 동안 나는 그것이 당신이 정말로 원하는 것인지 확신 할 수 없습니다. SwipeRefreshLayout의 핵심 기능을 어떤 식 으로든 변경해야합니까? –

답변

0

내 의견으로는 직접 지원 라이브러리를 수정해서는 안됩니다.

그냥 자신 만의 클래스를 만드십시오 ..?

import android.support.v4.widget.SwipeRefreshLayout; 

public class MySwipeLayout extends SwipeRefreshLayout { 

... // custom methods 

@Override 
... // SwipeRefreshLayout method to override 

} 
+0

나는 그것을 이미 시도했다. 하지만 일부 값에 액세스해야하며 getter 메소드가 구현되지 않습니다. 또는 나는 무엇인가 놓치 느냐? –

+0

수퍼 클래스의 모든 메서드를 사용할 수 있습니다. 필요한 값을 반환하는 메소드가 없으면 * 라이브러리에있는 전체 클래스를 복사하여 붙여 넣을 수 있으며 이름을 변경할 수 있습니다.하지만 이것은 매우 짐작이 들며 작동하지 않을 수 있는지는 알 수 없습니다. – natario

+0

그래, 나는 이미 그것을 생각했지만 꽤 추한 내 의견 :/ –

관련 문제