제가 관리자용 앱을 만들어보려는데 (연습 겸) FragmentViewPagerAdapter 을 상속해서 getItem엔 AbstractAppManager.getFragment()을 리턴시켯습니다...
그리고 메인액티비티에선 ViewPager을 생성해서(소스상으로) 테스트를 위해 직접 그냥 setContentView를 했습니다..
오류가 ResourseNotFoundException이 뜨네요?! 0xfffffff를 못찾는다는데... 어떻게 해결가능할까요?? 소스 첨부합니다..
package app;
import java.util.ArrayList;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
public class AppFragmentAdapter extends FragmentStatePagerAdapter {
ArrayList<App> list;
public AppFragmentAdapter(final FragmentManager fm) {
super(fm);
list = new ArrayList<App>();
for (final App app : App.values()) {
list.add(app);
}
}
@Override
public Fragment getItem(final int index) {
return list.get(index).get().getFragment();
}
@Override
public int getCount() {
return list.size();
}
}
이게 커스텀 아답터입니다
package app;
import android.support.v4.app.Fragment;
public abstract class AbstractApplicationManager {
public abstract String getPackageName();
public abstract Fragment getFragment();
}
앱 매니저입니다
App은 그저 enum 입니다
adapter = new AppFragmentAdapter(getSupportFragmentManager());
final ViewPager pager = new ViewPager(context);
pager.setAdapter(adapter);
setContentView(pager);
메인액티비티의 화면구현 코드입니다..