2012-02-04 3 views
1

응용 프로그램을 만들고 있는데 사용중인 FragmentPager이 있습니다. FragmentPager을 사용하려면 FragmentPagerAdapter으로 지원해야합니다. 나는 Nameable이라는 인터페이스를 만들었고 거기에 넣을 수있는 배열 목록을 만들고 싶습니다. Nameable 인터페이스를 구현하는 Fragments입니다.배열 목록에 제네릭 오류가 발생했습니다.

나는 이러한 방법을 시도했지만 오류가 발생합니다. 그리고 그 이유는 실제로 자바에 관한 것이고 인터넷을 통한 많은 예제가 있기 때문입니다.

내가 무엇을 시도했다입니다 :

private ArrayList<Fragment extends Nameable> mFragmentList; 

오류 :

을 (하지만 난에 그것을 시도를 할 수 있도록 올바른 방법이 아닌)

Syntax error on token "extends", , expected

다른 것

private ArrayList<? extends Fragment & Nameable> mFragmentList; 

오류 :

Syntax error on token "&", , expected

왜이 문장으로 오류가 있습니까? 그게 올바른 방법이라고 확신합니다.

감사합니다.

답변

3

이 충분해야한다 :

private ArrayList<Fragment> mFragmentList; 

extendssuper 제네릭에 서명 유형 매개 변수가 아닌 실제 유형을 제한하는 데 사용됩니다. FragmentFragment 클래스에 이미 정의되어 있으며 Nameable이 구현되어 있으므로 어디에서나 반복 할 필요가 없습니다.

+0

물론 필요하지만 유형을 제한하고 싶습니다. 예 : '@Override \t \t 공공 문자열 인 getTitle (INT 위치) { \t \t \t 반환 mFragmentList.get (위치) .getName(); \t \t}' – Elad92

+0

기다리십시오,'Fragment'는'Nameable'을 구현하지 않습니다. 그렇다면 클래스와 인터페이스를 만들고 그 타입의리스트를 만드십시오. – millimoose

+0

아니요, 조각은 이름 지정 가능을 구현하지 않습니다. 약간 복잡합니다. Fragment에는 몇 가지 하위 클래스가 있습니다.이 목록에 Fragments 하위 클래스 및 Fragment 하위 클래스 하위 클래스를 넣으려고합니다. ListFragment extends Fragment와 My class가 ListFragment를 확장한다고 가정 해 보겠습니다. 모두 Nameable을 구현해야합니다. 당신이 이해 한? – Elad92

관련 문제