【问题标题】:Is it possible to have a fragment that is not in the tab bar?是否有可能有一个不在标签栏中的片段?
【发布时间】:2018-04-15 20:59:43
【问题描述】:

现在,如图所示,我的应用中有五个片段(标签)。并且它们都被列为 MainActivity.java 中标签栏的成员

public class MainActivity extends AppCompatActivity implements InputTab.SendMessage, FollowingTab.SendMessage, FollowerTab.SendMessage, ProfileTab.SendMessage {

    private SectionsPageAdapter pageAdapter;
    ViewPager viewPager;
    public static String currentUser;

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

        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.replace(R.id.container, new ProfileTab());

        fragmentTransaction.commit();

        pageAdapter = new SectionsPageAdapter(getSupportFragmentManager());

        // Sets up the ViewPager with the sections adapter

        viewPager = (ViewPager) findViewById(R.id.container);
        setupViewPager(viewPager);

        TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.setupWithViewPager((viewPager));

    }

    // Adds fragments to SectionsPageAdapter and gives names for the corresponding tab

    private void setupViewPager(ViewPager viewPager) {
        SectionsPageAdapter adapter = new SectionsPageAdapter(getSupportFragmentManager());
        adapter.addFragment(new InputTab(), "Search");
        adapter.addFragment(new ProfileTab(), "Profile");
        adapter.addFragment(new GithubTab(), "Github Repos");
        adapter.addFragment(new FollowerTab(), "Followers");
        adapter.addFragment(new FollowingTab(), "Followings");
        viewPager.setAdapter(adapter);
    }

由于我实现了一个搜索选项卡,我想知道是否可以创建另一个显示搜索结果的页面(或片段),当我单击结果时,我想将其直接指向相应的选项卡(用户个人资料,以及用于 repo 搜索的 Github Repos)。

简而言之,如何创建一个不属于选项卡的页面,并且在我按下“搜索”按钮时仍然显示它?

【问题讨论】:

    标签: android android-fragments tabs


    【解决方案1】:

    在片段而不是活动中实现您的 TabLayout 和 ViewPager,并将该片段替换为结果片段。

    【讨论】:

    • 那么,MainActivity 里面什么都没有?
    • 只是一个 FrameLayout 来包含片段(一个带有 viewpager 和结果片段)。
    • 那么 MainActivity 将只有一个空白实现?
    • 可以,除了第一次添加viewPager片段。
    • 我还没有尝试过,因为我出去了,但只是想知道我是否在片段中实现了我的 TabLayout 和 ViewPager 并将 MainActivity 放置为一个空页面,那么起始活动应该是什么?片段不能开始活动
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 2018-10-09
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    相关资源
    最近更新 更多