首页 > 解决方案 > 从另一个片段内部打开片段

问题描述

正如问题所说,我正在尝试从另一个片段中打开一个片段。我有一个导航栏,其中包含我当前的所有片段。但是,我想从其中一个中打开一个单独的片段,以便用户可以做一些事情(导航到联系人列表片段并添加新联系人,从而打开一个新片段以帮助用户创建它)。到目前为止,当我单击添加按钮时,什么也没发生(它应该显示一个新片段)。我搜索了 StackOverflow 和谷歌,但我无法解决我的问题。我的 onClick() 看起来像:

addbutton = view.findViewById(R.id.addAlarm);
addbutton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        addbutton.setText("hello");

        //this is just a textView for simplicity
        CreateAlarm fragment = new CreateAlarm();                           
        FragmentManager manager = getFragmentManager();
        FragmentTransaction transaction = manager.beginTransaction();
        //transaction.replace(R.id.main_frame, new CreateAlarm());
        transaction.add(R.id.main_frame, fragment);
        transaction.addToBackStack(null);
        transaction.commit();
    }
}

我的导航栏使用 main_frame 来显示我的正常片段。对我来说,这是我尝试添加或替换我的新片段的地方。我相信这可能与使用导航栏有关,因为我以前从未遇到过这个问题。从我在解释中看到的内容来看,我的实现似乎是正确的。任何提示都会很棒。

标签: androidandroid-fragments

解决方案


好的,结果我在 OnCreateView 中为 CreateAlarm 调用了相同的片段 xml 文件,而不是新的,因此我没有看到任何变化。只花了我一整天的时间,但由于我的代码有效(替换和添加片段调用都正常工作),因此我将把它作为其他人的示例。


推荐阅读