android - 如何在 ActionBar 中引入 Swipeable Tabs?

标签 android android-fragments android-activity tabs android-tabs

我正在按照“The Big Nerd Ranch Guide”教科书学习 Android 应用程序开发。 (顺便说一句,这是一本多么棒的书!:))我很享受我的学习过程。我的 Java 知识有限,所以需要一些时间。

我目前的情况是:

我有兴趣介绍 Swipeable Tab views,但教科书没有涵盖那部分(涵盖了 Swipeable,但不是 tab views)。

在那本书的第 9 章中,他解释了拥有一个抽象父类(super class)(基本上是用于托管单个 fragment 的抽象 Activity )如何有助于重用托管 View 。

因此,在我的应用程序开发中,我有一个抽象类:

public abstract class SingleFragmentActivity extends FragmentActivity {
protected abstract Fragment createFragment();

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_container_layout);

    FragmentManager fm = getSupportFragmentManager();
    Fragment fragment = fm.findFragmentById(R.id.fragmentContainer);
    if (fragment == null) {
        fragment = createFragment();
        fm.beginTransaction()
                .add(R.id.fragmentContainer, fragment)
                .commit();
      }
   }
}

从这个抽象类开始,我正在扩展我的主要 Activity ,在其中我正在启动一个名为 TheZooList 的 fragment :

public class MainActivity extends SingleFragmentActivity {

@Override
protected Fragment createFragment() {

    return new TheZooList();}
}

TheZooList 扩展了一个 fragment ,现在,它使用 ArrayAdapter 显示一长串动物和鸟类。

public class TheZooList extends Fragment
{...}

我希望有两个单独的列表,一个用于动物,一个用于植物,每个列表都在各自的标签中。

我基本上被困在这里了。来自热门blog我能理解android中的tabs是如何引入的,但我无法在我的项目中关联和实现它。

例如,他们使用 implements ActionBar.TabListener

public class MainActivity extends FragmentActivity implements
        ActionBar.TabListener {,,,}

在我的项目中,我应该为哪个类实现 ActionBar.TabListener:MainActivityTheZooList fragment ?

对于后续步骤的任何指导,我们将不胜感激。

最佳答案

有一个很好的教程涵盖了这个主题。查看此链接 http://developer.android.com/training/implementing-navigation/lateral.html

简而言之:您应该结合使用 ViewPager 和标准的 ActionBar 选项卡。您需要确保他们在使用任一导航方式更改选项卡时得到通知。在提供的链接中详细讨论了实现。

祝你好运。

关于android - 如何在 ActionBar 中引入 Swipeable Tabs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31631545/

相关文章:

android - 将 Google Home 响应转换到电视上的 Chromecast

android - fragment - 在运行方法之前等待 onCreateView() 完成

android - 当 Viewpager 有任何其他布局作为其兄弟时,它不可见

java - Android应用程序停止变量重置-生命周期

java - 摆脱 Android 操作栏。

android - 在 Android 上计算测验的分数

安卓ROM开发。需要做些什么?

php - 哪种类型的 ip 地址是 "2405:204:a581:e021:995b:368e:9b00:ddd5"?

android - 如何在 Android 应用程序中绘制股票历史图表?

java - Android UI fragment 。由于按下按钮而更改 fragment