Java 通过constraintSet以编程方式设置约束会导致视图消失
每当我连接两个小部件时,起始元素将不再显示。 不幸的是,我不知道这个问题的原因是什么。 ConstraintLayout myLayout已在另一个布局中膨胀Java 通过constraintSet以编程方式设置约束会导致视图消失,java,android,constraints,android-constraintlayout,constraintset,Java,Android,Constraints,Android Constraintlayout,Constraintset,每当我连接两个小部件时,起始元素将不再显示。 不幸的是,我不知道这个问题的原因是什么。 ConstraintLayout myLayout已在另一个布局中膨胀 ConstraintLayout myLayout= getActivity().findViewById(R.id.myID); myLayout.removeAllViews(); ConstraintSet constraintSet = new ConstraintSet(); CheckBox cb = new CheckB
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);
设置约束后显示,如下所示
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);
我不会关注您的两个布局及其交互方式,但通常,您会添加一个视图并按如下方式连接:
ConstraintSet.applyTo(myLayout)
此外,由于您正在从
myLayout
中删除所有视图,并且没有向其中添加任何内容,因此您的布局将是空的。请解决上述问题。您好,请为每个轴设置至少一个约束,在这里您已经定义了结束,还定义了顶部或/和底部。我添加了有问题的约束,但它不能解决问题(和/或相关)。