Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从另一个片段单击按钮上的新片段?_Java_Android_Android Studio_Android Fragments - Fatal编程技术网

Java 从另一个片段单击按钮上的新片段?

Java 从另一个片段单击按钮上的新片段?,java,android,android-studio,android-fragments,Java,Android,Android Studio,Android Fragments,谁能给我指出正确的方向,告诉我我做错了什么 我这里有一个带按钮的碎片。当按下按钮时,它需要替换当前片段并加载一个新片段。我已经知道如何从一个片段到另一个活动,从一个活动到另一个片段,而不是从一个片段到另一个片段。我知道这个问题已经被问过好几次了,但我是个新手,自己都搞不懂 public class FragmentName extends Fragment { public FragmentName() { // Required empty public constr

谁能给我指出正确的方向,告诉我我做错了什么

我这里有一个带按钮的碎片。当按下按钮时,它需要替换当前片段并加载一个新片段。我已经知道如何从一个片段到另一个活动,从一个活动到另一个片段,而不是从一个片段到另一个片段。我知道这个问题已经被问过好几次了,但我是个新手,自己都搞不懂

public class FragmentName extends Fragment {

    public FragmentName() {
        // Required empty public constructor

    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View rootView = inflater.inflate(R.layout.fragment_name, container, false);

        Button ID = (Button) rootView.findViewById(R.id.buttonID);
        ID.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                FragmentName NAME = new FragmentName();
                fragmentTransaction.replace(R.id.main_container, NAME);
                fragmentTransaction.commit();
            }
        });
        return rootView;
    }
}

我想你不是在初始化碎片管理器。没有FragmentManager,就不可能替换、更新和创建任何片段。因为它负责替换或删除任何片段。希望这会有所帮助

public class FragmentName extends Fragment {

public FragmentName() {
    // Required empty public constructor

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View rootView = inflater.inflate(R.layout.fragment_name, container, false);

    Button ID = (Button) rootView.findViewById(R.id.buttonID);
    ID.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        FragmentName NAME = new FragmentName();
      fragmentTransaction.replace(R.id.main_container, NAME);
        fragmentTransaction.commit();

        }
    });
    return rootView;
  }
}

我犯了愚蠢的错误。谢谢