【发布时间】:2015-05-12 07:31:10
【问题描述】:
我已经实现了在视图寻呼机中滑动三个页面,即 Fragment 1、Fragment 2 和 Fragment 3。现在我想添加 tab-host,它在 Fragment 3 中包含 5 个具有不同视图的选项卡。然后最终有 7 个页面在视图中寻呼机。但是标签应该只在 Fragment 3 中可见。
如何在片段 3 中添加标签?
public class HomeActivity extends FragmentActivity {
// page adapter between fragment list and view pager
public static PagerAdapter mPagerAdapter;
// view pager
public ViewPager mPager;
// activity data
public String p2text, p3text;
public static List<Fragment> fragments;// = buildFragments();
// / ArrayList<String> categories = {"1","2","3","4","5","6","7","8"};
ArrayList<String> categories = new ArrayList<String>();
static final String LOG_TAG = "HomeActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fragments = new ArrayList<android.support.v4.app.Fragment>();
categories.add("1");
categories.add("2");
categories.add("3");
categories.add("4");
categories.add("5");
categories.add("6");
categories.add("7");
addFragments(FragmentMore.class.getName(), 1);
addFragments(FragmentMain.class.getName(), 2);
addFragments(FragmentChatView.class.getName(), 3);
mPager = (ViewPager) super.findViewById(R.id.pager);
mPagerAdapter = new PagerAdapter(this, getSupportFragmentManager(), fragments, categories);
mPager.setAdapter(mPagerAdapter);
mPager.setCurrentItem(1);
}
public void addFragments(String className, int position) {
// List<android.support.v4.app.Fragment> fragments = new
// ArrayList<android.support.v4.app.Fragment>();
// (int i = 0; i<categories.size(); i++) {
Bundle b = new Bundle();
b.putInt("position", position);
fragments.add(Fragment.instantiate(this, className, b));
// }
// return fragments;
}
public void removeFragments(String className, int position) {
// List<android.support.v4.app.Fragment> fragments = new
// ArrayList<android.support.v4.app.Fragment>();
// (int i = 0; i<categories.size(); i++) {
Bundle b = new Bundle();
b.putInt("position", position);
fragments.remove(Fragment.instantiate(this, className, b));
// }
// return fragments;
}
private List<android.support.v4.app.Fragment> buildFragments() {
List<android.support.v4.app.Fragment> fragments = new ArrayList<android.support.v4.app.Fragment>();
for (int i = 0; i < categories.size(); i++) {
Bundle b = new Bundle();
b.putInt("position", i);
fragments.add(Fragment.instantiate(this, FragmentSearch.class.getName(), b));
}
return fragments;
}
@Override
public void onResume() {
super.onResume();
Log.e(LOG_TAG, "onResume");
}
@Override
public void onPause() {
super.onPause();
Log.e(LOG_TAG, "onPause");
}
}
【问题讨论】:
-
可以添加一些代码吗?
-
我已经添加了代码。我想在 FragmentChatView.class 中添加标签
-
这不是小事。只是好奇,你是把它作为大学项目还是工作?
标签: android android-fragments android-viewpager swipe android-tabs