【问题标题】:Android - Call a fragment inside tabAndroid - 在选项卡内调用片段
【发布时间】:2023-04-02 23:53:01
【问题描述】:

我尝试创建一个有两个页面的应用程序。第一页是标签页,第二页是详情页。

我使用this guide 创建了一个点击页面。我有一个包含视图寻呼机和 3 个选项卡(Tab1, Tab2, Tab3)的主要活动。 Tab3 包含一个导航详细信息页面的按钮。每个选项卡都有自己的 .java(扩展片段)和 .xml 文件。我编辑 fragmentThree.xml 布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragmentThree"]>

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/goToDetail"
    android:text="GO TO DETAIL" />

我为详细信息页面创建了一个新片段。我在 Tab3.java 中设置了 onclick 方法;

goToDetail.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {

            FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
            FragmentTransaction transaction = fragmentManager.beginTransaction();
            transaction.replace(R.id.mainActivity, new Detail());
            transaction.commit();
        }
    });

当我按下按钮时,它什么也没做。我不替换片段。

【问题讨论】:

  • 点击按钮后,您是要创建新标签(在您的情况下为新片段)还是导航到新活动以显示详细信息?
  • 导航到新活动以显示详细信息。
  • 请提供所有信息以帮助您,您是否使用支持 Fragments?如果是,您应该使用 getSupportFragmentManager。
  • @miibpa 我尝试了 getSupportFragmentManager。它不起作用。

标签: android android-fragments android-tablayout fragmentmanager


【解决方案1】:

使用您的 viewpager id 而不是主要布局 id,您可以在其中设置选项卡布局片段。

transaction.replace(R.id.viewpager, new Detail());

【讨论】:

    【解决方案2】:

    在 Main Activity 中使用 Frame 布局

    <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/parent">
    

    在点击列表中:-

    FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
                FragmentTransaction transaction = fragmentManager.beginTransaction();
                transaction.replace(R.id.parent, new Detail());
                transaction.commit();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-15
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      • 2013-07-09
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      相关资源
      最近更新 更多