0

每当我连接两个小部件时,起始元素将不再显示。不幸的是,我不知道这个问题的原因是什么。ConstraintLayout myLayout 已经在另一个布局中膨胀。

ConstraintLayout myLayout= getActivity().findViewById(R.id.myID);
myLayout.removeAllViews();

ConstraintSet constraintSet = new ConstraintSet();

CheckBox cb = new CheckBox(myLayout.getContext());
cb.setText("CHECKBOX");
cb.setId(View.generateViewId());

myLayout.addView(cb);

constraintSet.connect(cb.getId(),ConstraintSet.END,myLayout.getId(),ConstraintSet.END);
constraintSet.connect(cb.getId(),ConstraintSet.TOP,myLayout.getId(),ConstraintSet.TOP);

constraintSet.applyTo(myLayout);
4

2 回答 2

0

设置约束后显示,像这样

    ConstraintLayout myLayout= findViewById(R.id.lo1);
    myLayout.removeAllViews();

    ConstraintSet constraintSet = new ConstraintSet();

    CheckBox cb = new CheckBox(myLayout.getContext());
    cb.setText("CHECKBOX");
    cb.setId(View.generateViewId());


    constraintSet.connect(cb.getId(),ConstraintSet.END,myLayout.getId(),ConstraintSet.END);
    constraintSet.connect(cb.getId(),ConstraintSet.TOP,myLayout.getId(),ConstraintSet.TOP);

    constraintSet.applyTo(myLayout);
    myLayout.addView(cb);
于 2020-03-19T22:10:08.000 回答
0

我没有关注您的两种布局以及它们如何交互,但通常,您会添加一个视图并将其连接起来,如下所示:

  1. 创建文本视图
  2. 将视图添加到布局
  3. 创建约束集
  4. 将布局约束(和 ID)克隆到ConstraintSet cs.clone(layout)
  5. 建立联系
  6. ConstraintSet应用于布局:constraintSet.applyTo(myLayout)

此外,由于您要从中删除所有视图myLayout而不向其中添加任何内容,因此您的布局将是空的。修复这个然后上面的内容。

于 2020-03-19T22:47:02.607 回答