Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.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 - Fatal编程技术网

Java 使用另一个片段中的按钮打开片段

Java 使用另一个片段中的按钮打开片段,java,android,Java,Android,我想用另一个片段中的按钮打开另一个片段 这是带按钮的片段 @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_myday,

我想用另一个片段中的按钮打开另一个片段

这是带按钮的片段

 @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment_myday, container, false);
        Button buttonNext = (Button)view.findViewById(R.id.next);
        buttonNext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Fragment someFragment = new TomorrowFragment();
                FragmentTransaction fr = getFragmentManager().beginTransaction();
                fr.replace(R.id.fragment_container, someFragment);
                fr.commit();

            }
        });

        return view;
片段xml

 <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Next to 2"
        android:layout_centerInParent="true"
        android:layout_alignParentRight="true"
        android:id="@+id/next"/>


我按下按钮后什么也没发生。我遵循了其他帖子的代码,但没有任何效果。

这是什么意思?CommitteAllowingStateLoss()?我计划让我的所有片段在切换时不会丢失它们的状态(数据)。这会违背它吗@khushpreetIt可以很好地工作,如果您希望在片段事务期间保存数据,那么使用add而不是replace。
buttonNext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Fragment someFragment = new TomorrowFragment();
                FragmentTransaction fr = getSupportFragmentManager().beginTransaction();
                fr.replace(R.id.fragment_container, someFragment);
                fr.commitAllowingStateLoss();

            }
        });