자, FragmentManager에서 상속 한 클래스가 있습니다. 이 클래스 안에는 조각 탭을 만들고 내 TabHost에 삽입하는 FragmentPagerAdapter가 있습니다. 코드가 잘 컴파일되고 작동합니다. 나는 아래의 일부 수업을 들었습니다. FragmentManager, LocalActivityManager 및 TabHost.setup()
java.lang.IllegalStateException: Did you forget to call 'public void setup(LocalActivityManager activityGroup)'?
은 안드로이드 개발자 사이트에 읽는 LocalActivityManager가되지 않습니다 :이 THS 안드로이드 supprt 패키지 V4
public class TabMenu extends FragmentActivity implements TabHost.OnTabChangeListener, ViewPager.OnPageChangeListener{
...
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.tabs_container);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
tabHost = (TabHost)findViewById(android.R.id.tabhost);
tabHost.setup();
viewPager = (ViewPager)findViewById(R.id.viewpager);
...
menuAdapter = new MenuPagerAdapter(this, tabHost, viewPager);
menuAdapter.addTab("meutime", "Meu Time", MeuTime.class, extras);
...
tabHost.setOnTabChangedListener(this);
viewPager.setOnPageChangeListener(this);
...
public class MenuPagerAdapter extends FragmentPagerAdapter{
public MenuPagerAdapter(FragmentActivity fragmentActivity, TabHost tabHost, ViewPager viewPager) {
...
}
@Override
public Fragment getItem(int position) {
String currentFragment = tabNames.get(position);
return fragmentManager.findFragmentByTag(currentFragment);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return tabNames.size();
}
public void addTab(String tag, String tabLabel, Class<?> cls, Bundle bundle){
TabHost.TabSpec tabSpec = tabHost.newTabSpec(tag).setIndicator(createTab(tabLabel));
Intent intent = new Intent();
intent.setClass(context, cls);
intent.putExtras(bundle);
tabSpec.setContent(intent);
tabNames.add(tag);
tabHost.addTab(tabSpec);
notifyDataSetChanged();
}
private View createTab(String tabLabel){
View view = LayoutInflater.from(context).inflate(R.layout.tab_spec_layout, null, false);
...
return view;
}
}
나는 다음과 같은 예외를받은이 FragmentActivity를 인스턴스화 할 때를 어떻게 사용하고 있습니다. 하지만 TabHost.setup (LocalActivityManager)에서 사용됩니다. 이 클래스가 사용되지 않는 경우이 경우에 대한 해결책이 있습니까? TabContentFactory를 사용할 수 없습니다.
음, 조각을 사용하는 탭이 필요합니다. 맞습니까? 왜 당신은 tabhost, 의도 및 모든 것을 사용하고 있습니까? – Ixx
'fragment '대신에'android-fragments' 태그를 사용하십시오 : –