对不同标签使用不同片段的新方法是什么?

时间:2017-04-05 01:25:41

标签: android android-fragments tabs

我一直在寻找解决此问题的不同解决方案:如何使用Android中的ActionBar在不同的标签中显示不同的内容?

Tabs

我找到了一个方法:将片段用作XML,然后将它们作为不同选项卡的布局。但是发布的大多数代码要么已过时,要么已弃用或非常复杂。

public class MainActivity extends ActionBarActivity implements ActionBar.TabListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sample_main);

    // Set the Action Bar to use tabs for navigation
    ActionBar ab = getSupportActionBar();
    ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    // Add three tabs to the Action Bar for display
    ab.addTab(ab.newTab().setText("Tab 1").setTabListener(this));
    ab.addTab(ab.newTab().setText("Tab 2").setTabListener(this));
    ab.addTab(ab.newTab().setText("Tab 3").setTabListener(this));
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate menu from menu resource (res/menu/main)
    getMenuInflater().inflate(R.menu.main, menu);

    return super.onCreateOptionsMenu(menu);
}

// Implemented from ActionBar.TabListener
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
    // This is called when a tab is selected.
}

// Implemented from ActionBar.TabListener
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
    // This is called when a previously selected tab is unselected.
}

// Implemented from ActionBar.TabListener
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
    // This is called when a previously selected tab is selected again.
}

这是来自Android的示例,提供了ActionBar及其自身功能的示例。这将是一个良好的开端,除了它已被弃用。大多数这个或其他被弃用的东西。所以我想知道,为不同的标签使用不同的片段的新方法是什么?

2 个答案:

答案 0 :(得分:0)

可以在这里找到一个很好的例子:https://gist.github.com/talhahasanzia/84e44e831f9c5f9b14835a253f3614dd

答案 1 :(得分:0)

#尝试按照以下步骤操作:

  1. 使用activity_main.xmlToolbarTabLayout
  2. 设计您的ViewPager
  3. 设计布局XML是您要为每个Tab内容显示的片段。
  4. 使用FragmentPagerAdapter填充Fragments
  5. 上的ViewPager
  6. 使用FragmentPagerAdapter
  7. ViewPager设置为ViewPager.setAdapter(FragmentPagerAdapter)
  8. 使用TabLayout.setupWithViewPager(ViewPager)授权ViewPager使用TabLayout功能。
  9. 这是一个完整的tutorial

    #如果您使用的是AndroidStudio ,则可以使用默认的 TabbedActivity 模板轻松创建它。请按照以下步骤操作:

    1. 打开AndroidStudio
    2. 文件>新>新项目
    3. 提供项目名称>选择minimum SDK版本,然后按Next
    4. 选择TabbedActivity,然后按Next
    5. 选择Navigation Style: "Action Bar Tabs(with ViewPager)> Finish
    6. 希望这会有所帮助〜