【问题标题】:How to open a fragment from another fragment如何从另一个片段打开一个片段
【发布时间】:2017-01-31 12:56:26
【问题描述】:

我有一个选项卡式活动,其中有三个选项卡。主选项卡是主页选项卡,它包含一个按钮。我的问题是如何在按下按钮并将其保持在同一个选项卡式活动中后打开一个新片段? 这是我的主页选项卡类代码:

import android.support.v4.app.FragmentManager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
/**
 * Created by user-pc on 15/01/2017.
 */


public class Home extends Fragment {
    private boolean flag;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.hometab, container, false);
        final Button RestButton = (Button) rootView.findViewById(R.id.RestButton);
        final Button ShopButton = (Button) rootView.findViewById(R.id.ShopButton);
        final Button HangoutButton = (Button) rootView.findViewById(R.id.HangoutButton);
        RestButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });
        return rootView;
    }
}

【问题讨论】:

  • 您可以使用对话框全屏或嵌入片段。阅读Dialogs

标签: java android android-fragments android-viewpager fragment


【解决方案1】:

当您在 android 中添加默认选项卡式活动时,您会得到一个使用 ViewPager 作为 FragmentPagerAdapter 管理的片段的容器的活动。

来自FragmentPagerAdapter's documentation

此版本的分页器最适合在需要分页的情况下使用少数通常更静态的片段,例如一组选项卡。

如果我理解正确,您希望其中一个片段,即 Home 片段,它驻留在页面(我们称之为 Page1)与另一个片段(我们称之为新片段 FragmentB)动态交换并保持如果您切换到另一个页面(我们称之为 Page2)并返回其页面(这意味着您将在切换回 Page1 时看到 FragmentB),则作为新片段。

为此,您似乎最好使用FragmentStatePagerAdapter。 Page1 的片段内部 - 有另一个片段的容器(片段中的片段),占据父片段的整个区域。其中的第一个默认片段是 Home 片段,如果之前没有保存状态,它将在 onCreateView 方法中动态加载。否则 - 加载的片段将根据保存状态 - 甚至直接来自保存状态。要拥有该已保存状态 - 您需要实现 onSaveInstanceState(Buncle) 才能拥有已保存状态。然后,您将 Home 片段与容器片段中的 FragmentB 交换,该片段是每次加载到 Page1 中的片段 - 但它会记住上次加载的片段 - 并且可以正确恢复它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    相关资源
    最近更新 更多