首页 > 解决方案 > 无法加载或替换片段的 XML 但在新片段中运行代码?

问题描述

为什么不加载 fragment_signup.XML 只加载 Toast 和 signup_Fragment 中的代码?!

login_fragment.java

private void init(){
        linktosignup.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
                transaction.replace(R.id.viewpager,new signup_fragment()).commit();
            }
        });

注册片段

public class signup_fragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_signup,container,false);
        Toast.makeText(getContext(), "this is signup !!!", Toast.LENGTH_LONG).show();
        return view;
    }
}

片段容器

<androidx.viewpager.widget.ViewPager
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/viewpager"
        android:layout_above="@+id/bottomnavigationview"
        android:layout_below="@id/winnersview">
    </androidx.viewpager.widget.ViewPager>

片段注册.XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/signuper"
    android:background="@color/BoxBackgroundDark">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="25454354351"/>

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

在 signup_fragment 中显示 Toast 但不加载 XML

标签: androidreplacefragmentfragmenttransaction

解决方案


推荐阅读