【发布时间】:2014-12-05 02:18:12
【问题描述】:
我尝试在 Android 中使用 ActionBarTabs,例如 Twitter 的可滑动标签。我有三个选项卡和三个异步任务,每个选项卡都有网格视图。但我的观点随机使用标签。例如,当页面打开时 FragmentOne 将在第二个视图中加载。当我去 secondview FragmentTwo 加载第三个视图。当我去第三个时,我看到第二个。当我返回第二个时,我看到第一个视图内容。你认为我的错误在哪里?
pageType = getIntent().getIntExtra("type", 0);
mViewPager = (ViewPager) findViewById(R.id.pager);
mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
mViewPager.setAdapter(mAdapter);
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
mViewPager
.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
bar.setSelectedNavigationItem(position);
}
});
// Adding Tabs
if (pageType != 3) {
for (String tab_name : tabs) {
bar.addTab(bar.newTab().setText(tab_name).setTabListener(this));
}
} else {
for (String tab_name : tabs_multi) {
bar.addTab(bar.newTab().setText(tab_name).setTabListener(this));
}
}
public class TabsPagerAdapter extends FragmentPagerAdapter {
public TabsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int index) {
String text = getActionBar().getSelectedTab().getText().toString();
if (text.equals("Futbol")) {
return new FragmentOne(pageType);
} else if (text.equals("Basketbol")) {
return new FragmentTwo(pageType);
} else if (text.equals("Voleybol")) {
return new FragmentThree(pageType);
} else if (text.equals("Video")) {
return new FragmentOne(pageType);
} else if (text.equals("Albüm")) {
return new FragmentTwo(pageType);
} else if (text.equals("Sesler")) {
return new FragmentThree(pageType);
}
return null;
}
@Override
public int getCount() {
// get item count - equal to number of tabs
return 3;
}
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
【问题讨论】:
标签: android android-fragments android-asynctask tabs android-actionbar