Android 未隐藏的片段事务

Android 未隐藏的片段事务,android,Android,我有一个符号片段和一个按钮。单击按钮时,将向用户显示注册片段。我使用下面的代码执行FragmentTransaction,并希望SignupFragment替换SigninFragment,但是SignupFragment显示在SigninFragment的下方。谁能告诉我我做错了什么 public void onClick(View v) { FragmentManager fragmentManager = getFragmentManager(); FragmentTran

我有一个
符号片段
和一个
按钮
。单击
按钮
时,将向用户显示
注册片段
。我使用下面的代码执行
FragmentTransaction
,并希望
SignupFragment
替换
SigninFragment
,但是
SignupFragment
显示在
SigninFragment
的下方。谁能告诉我我做错了什么

public void onClick(View v) {
    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    WindowManager wm = getWindowManager();
    Display d = wm.getDefaultDisplay();
    SignUpFragment su = new SignUpFragment();
    fragmentTransaction.replace(R.id.SigningIn,  su);
    fragmentTransaction.commit();
}
活动布局:

<LinearLayout 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:background="@drawable/bgmain"
tools:context=".MainActivity" 
    android:layout_gravity="center"
    android:focusableInTouchMode="true"
android:orientation="vertical"
     android:gravity="center">
        <fragment
        android:id="@+id/SigningIn"
        android:name=".SignInFragment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" 
        android:gravity="center"/>


</LinearLayout>

为了使片段可替换,它必须以编程方式添加,而不是通过XML


请参阅相关教程。

要通过代码而不是布局创建初始片段,请执行以下操作:

将id
@+id/SigningIn
设置为布局中的片段容器(通常是
FrameLayout
),以代替
标记

savedInstanceState
为空时,通过在
Activity
onCreate()
中执行
FragmentTransaction
创建初始片段:

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

    if (savedInstanceState == null) {
        SignInFragment f = new SignInFragment();
        getFragmentManager().beginTransaction().add(R.id.SigningIn, f).commit();
    }
}

您的布局可能有问题。请将你的
活动的布局编辑到你的问题中。好的,我做了,现在你认为我的问题是什么?