繁体   English   中英

单击新片段后是否单击另一个片段?

[英]New fragment on button click from another fragment?

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

我这里有一个带有按钮的片段。 当按下按钮时,它需要替换当前片段并加载一个新片段。 我已经弄清楚了如何从Fragment到Activity,以及从Activity到Fragment,而不是从Fragment到Fragment。 我知道这个问题已经问过几次了,但是我太新了,我自己都无法解决。

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。 没有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;
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM