我尝试创建一个包含两个页面的应用程序。第一页是标签页,第二页是详细页面。
我使用this guide创建了一个抽头页面。我有一个mainactivity包含视图寻呼机和3个标签(Tab1, Tab2, Tab3
)。 Tab3包含用于导航详细信息页面的按钮。每个选项卡都有自己的.java(extends Fragment)和.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();
}
});
当我按下按钮时,它什么也没做。我不会替换片段。
答案 0 :(得分:0)
在主要活动中使用框架布局
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/parent">
在clicklistiner中: -
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.parent, new Detail());
transaction.commit();
答案 1 :(得分:0)
使用viewpager id而不是main layout id,您可以在其中设置选项卡布局片段。
transaction.replace(R.id.viewpager, new Detail());