从另一个片段内部打开片段

时间:2018-12-03 11:23:55

标签: android android-fragments

正如问题所说,我正在尝试从另一个片段中打开一个片段。我有一个导航栏,其中包含我所有的当前片段。但是,我想从其中一个中打开一个单独的片段,以便用户可以做一些事情(导航到联系人列表片段并添加一个新联系人,从而打开一个新片段来帮助用户创建它)。到目前为止,当我单击“添加”按钮时,什么都没有发生(应该显示一个新片段)。我已经搜索过StackOverflow和Google,但是无法解决问题。我的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来显示我的常规片段。对我来说,这就是我尝试添加或替换新片段的地方。我相信这可能与使用导航栏有关,也许是因为我以前从未遇到过此问题。从我在解释中看到的内容来看,我的实现似乎是正确的。任何提示将是惊人的。

1 个答案:

答案 0 :(得分:0)

好吧,结果证明我在OnCreateView中为CreateAlarm调用了相同的片段xml文件,而不是新的,因此为什么我看不到任何变化。刚花了我整整一整天的时间,但是由于我的代码有效(replace和add片段调用均正常工作),因此我将其作为其他人的示例。