单击按钮即可显示整个活动/片段的片段

时间:2018-07-15 13:05:56

标签: android android-fragments android-activity fragment

我有一个带有工具栏,布局和寻呼机的活动。 因此,有了工具栏,我便有了应用程序的名称,也许我可以添加一些用于导航的按钮。

使用TabLayout,我可以单击或仅向左或向右移动手指来导航,将我的3个片段扔掉。

在一个片段中,我放了一个按钮,目的是在我所有的布局上显示一个片段。因此,我之前所说的所有内容都将被该片段覆盖。

我怎么能意识到?我看到了许多视频和指南,但是我的按钮无法正常工作。我什至没有得到任何错误,我的应用程序启动良好。 在测试时,如果我单击按钮,则什么也没有发生。在“运行”中不显示任何信息,例如按钮为空。

    public void onClick(View v) {
    switch(v.getId()){
        case R.id.button2:
            FirebaseAuth.getInstance().signOut();
            startActivity(new Intent(v.getContext(), CheckActivity.class));
            getActivity().finish();
            break;

        case R.id.button3:
            EditProfileFragment editprofiele = new EditProfileFragment();
            getFragmentManager().beginTransaction().replace(R.id.MainAct, editprofiele).commit();
            break;

        default:
            break;
    }


}

我有两个按钮。 button2用于断开连接并打开新活动。 button3用于显示我的片段。我尝试了任何组合。也许不是替换而是添加,等等。但是一切都无法正常工作。

在包含所有内容的活动中,我已经实现了对该片段的侦听器。有帮助吗?

1 个答案:

答案 0 :(得分:1)

onButtonClick打开片段...我的按钮在片段上有相同的问题。

            AppCompatActivity activity = (AppCompatActivity) view.getContext();
            YourFragment yourFragment = new YourFragment();
            activity.getSupportFragmentManager().beginTransaction()
                        .replace(R.id.frameLayoutMaps, myFragment)
                        .addToBackStack(null)
                        .attach(myFragment)
                        .commit();

在活动中添加frameLayout

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

</FrameLayout>

在XML的YourFragment的MainLayout中添加android:clickable="true"

希望这会有所帮助。