2013-12-17 1 views
1

공용 클래스는 별도의 파일에 있어야한다는 것을 알고 있습니다. 그렇지 않으면 공개 될 수 없습니다. 앤티 로이드 앱의 제목/탭으로 스 와이프보기를 이해하고 구현하려고하므로 Android 오픈 소스 프로젝트의 this 예를 다운로드했습니다. 예제가 작동하고 매력처럼 실행되지만, 이유를 이해할 수 없으며 Eclipse가이 오류를 표시하지 않는 이유를 이해할 수 없습니다.안드로이드 개발자가 공개 클래스를 동일한 파일에 포함시키는 이유는 무엇입니까?

위의 방법이 일부 특수한 경우에 허용되는 경우, 이러한 경우는 무엇입니까?

답변

2

설명서에 따르면 모든 클래스가 최상위 수준이라는 인상을 주지만 그렇지 않습니다. zip 파일의 소스 코드를 확인하면 DemoCollectionPagerAdapterDemoObjectFragmentCollectionDemoActivity 안에 중첩되어 있습니다.

이것은 클래스의 레이아웃입니다.

public class CollectionDemoActivity extends FragmentActivity { 
    ... 

    public static class DemoCollectionPagerAdapter extends FragmentStatePagerAdapter { 
     ... 
    } 

    public static class DemoObjectFragment extends Fragment { 
     ... 
    } 
} 
+0

오 마이 갓 나는 그것을 보지 못했습니다! 귀하의 우수한 답변을 – ElaGorilaki

+1

NP에 보내 주셔서 감사합니다. 실제로 소스 코드를보다 잘 반영하고 혼동을 막기 위해 문서를 개선 할 수 있습니다. – Rafa

관련 문제