0

我正在以编程方式创建框架布局。然后我以编程方式创建片段..然后我想将片段添加到框架布局中..每次单击按钮时都会发生此过程。对于 framelayout id 和片段标签,我创建了一个整数增量变量(“id”在开始时被初始化为“0”)..

当我单击带有新 ID 创建的新框架布局按钮时,使用新标签创建片段,将片段添加到该框架布局中......以及有争议的重叠视图..

在我的代码下面,

public void add_tab(View view)
{
    id++;
    String b = String.valueOf(id);
    tab_frame = new FrameLayout(this);
    FrameLayout.LayoutParams layoutparams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT,Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);
    tab_frame.setLayoutParams(layoutparams);
    tab_frame.setId (id);


    FragmentManager fragment_manager1 = getSupportFragmentManager ();                         // fragment manager for dealing with fragments
    frag_one frag_one_obj = new frag_one();                                                   // creating a onj of fragment "frag_one"
    FragmentTransaction fr_transaction = fragment_manager1.beginTransaction ();
    fr_transaction.add (tab_frame.getId (),frag_one_obj,b);
    fr_transaction.addToBackStack ("Fragment Add");
    fr_transaction.commit ();
    frag_one_obj.setArguments (bundle);
    tab_frame.setVisibility (View.VISIBLE);
}

当我调试时,我在 logcat 中收到此错误,

No view found for id 0x1 (unknown) for fragment frag_one{42bb0cc8 (d45032ae-5aa4-485f-87a6-da20f3d5ce1f) id=0x1 1}

我不知道为什么会发生这种情况..我已经在创建框架布局并为此分配了一个 id..但是这个错误表明没有分配给这个特定 id 的视图,所以无法添加片段..

请帮助我..提前谢谢..

4

1 回答 1

0

您需要将创建的内容添加FrameLayout为托管视图的子项。否则,它不会附着在任何地方。这就是为什么没有用它的 id 找到视图的原因。

于 2020-07-24T05:50:36.857 回答