在另一个片段的布局

时间:2018-05-29 09:53:15

标签: android android-fragments

我知道这可能是一个不同的基本问题。我试图在Fragment B上面添加一个片段,说片段A.通常在添加片段时,我们将它添加到Activity布局中。但是现在,我正在尝试将Fragment A添加到Fragment B布局中,这样用户只要导航到Frag B而不能导航到其他Fragment,就可以在Frag B上方查看Frag A.问题是片段A没有覆盖整个布局,只覆盖了Frag B的一部分。我将在下面发布我的代码。请帮忙。

Inside Frag B.xml:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:background="@color/page_background"
android:orientation="vertical"
android:padding="20dp"
android:id="@+id/scan_layout"
android:clickable="true"
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- TODO: Update blank fragment layout -->
<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal"
    android:clickable="true"
    android:id="@+id/radioGroupScan"
    android:orientation="horizontal">
    <RadioButton
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="8dp"
        android:text="Registered"
        android:checked="true"
        android:textSize="12sp"
        android:textColor="#000000"
        android:background="@drawable/radiobutton_left_selector"
        android:button="@android:color/transparent"
        android:foreground="?android:attr/selectableItemBackground"
        android:id="@+id/radio_registered"/>
    <RadioButton
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:padding="8dp"
        android:text="Available"
        android:background="@drawable/radiobutton_right_selector"
        android:textSize="12sp"
        android:textColor="#FFFFFF"
        android:button="@android:color/transparent"
        android:foreground="?android:attr/selectableItemBackground"
        android:id="@+id/radio_available"/>
</RadioGroup>

<android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:clickable="true"
    android:layout_marginTop="20dp"
    android:id="@+id/scantoolListRegistered">

</android.support.v7.widget.RecyclerView>

<android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:clickable="true"
    android:layout_marginTop="20dp"
    android:visibility="gone"
    android:id="@+id/scantoolListAvailable">

</android.support.v7.widget.RecyclerView>

<TextView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:text="No Tools Available."
    android:textColor="#ffffff"
    android:id="@+id/notool"
    android:gravity="center"
    android:textSize="15sp"
    android:visibility="gone"
    />

在FragB.java里面我写道:

  blankFragment.setArguments(bundle);
        // LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(receiver);
        fragmentManager.beginTransaction().add(R.id.scan_layout, blankFragment).commit();

2 个答案:

答案 0 :(得分:0)

activity.xml内,您可以放置​​两个(框架)布局,并将它们视为碎片容器。

答案 1 :(得分:0)

这样做是为了从另一个片段打开另一个片段:

openDialogBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Log.d(TAG, "onClick: opening custom dialog");
        customDialogFragment customDialogFragment = new customDialogFragment();
        customDialogFragment.setTargetFragment(MainFragment.this,/*requestCode*/ 1);
        customDialogFragment.show(getFragmentManager(), "/*tag*/ MycustomDialogFragment");
    }
});
相关问题