【问题标题】:How to make actionbarsherlock tabs open listviews instead of fragments如何使 actionbarsherlock 选项卡打开列表视图而不是片段
【发布时间】:2013-10-22 07:33:22
【问题描述】:

我想创建一个类似于 facebook 应用程序中的提要,并且我希望有用于过滤提要的 actionbarsherlock 导航选项卡 - 人员选项卡、地点选项卡和项目选项卡。

现在我已经进行了设置,以便每个选项卡都打开一个片段。我怎样才能让他们打开一个列表视图?

    ActionBar.Tab itemsFeedTab = actionBar.newTab();
    ActionBar.Tab peopleFeedTab = actionBar.newTab();
    ActionBar.Tab placesFeedTab = actionBar.newTab();

    Fragment itemsFeedFragment = new FeedItems();
    Fragment peopleFeedFragment = new FeedPeople();
    Fragment placesFeedFragment = new FeedPlaces();

    itemsFeedTab.setTabListener(new MyTabsListener(itemsFeedFragment));
    peopleFeedTab.setTabListener(new MyTabsListener(peopleFeedFragment));
    placesFeedTab.setTabListener(new MyTabsListener(placesFeedFragment));

    actionBar.addTab(itemsFeedTab, 0, true);
    actionBar.addTab(peopleFeedTab, 1, false);
    actionBar.addTab(placesFeedTab, 2, false);


class MyTabsListener implements ActionBar.TabListener {
    public Fragment fragment;

    public MyTabsListener(Fragment fragment){
        this.fragment = fragment;
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        // TODO Auto-generated method stub
        ft.replace(R.id.home, fragment);
    }

【问题讨论】:

    标签: android android-listview android-fragments actionbarsherlock android-tabs


    【解决方案1】:

    如果您的片段只包含ListViews,那么最好使用ListFragment

    【讨论】:

    • 这就是他们在 facebook 使用的东西吗?
    • 所以我的代码将保持原样,我只是在我的 Fragments 中使用 ListFragment?
    • 大部分是的..你可以参考this教程这里了解更多信息
    • SherlockListFragment替换ListFragment
    【解决方案2】:

    答案隐藏在你的问题中,你试图打开ListView而不是Fragment

    您为什么不打开ListFragment,然后您就完成了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      相关资源
      最近更新 更多