Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过constraintSet以编程方式设置约束会导致视图消失_Java_Android_Constraints_Android Constraintlayout_Constraintset - Fatal编程技术网

Java 通过constraintSet以编程方式设置约束会导致视图消失

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已在另一个布局中膨胀

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);

我不会关注您的两个布局及其交互方式,但通常,您会添加一个视图并按如下方式连接:

  • 创建文本视图
  • 将视图添加到布局中
  • 创建约束集
  • 将布局约束(和ID)克隆到约束集。克隆(布局)
  • 建立联系
  • 将约束集应用于布局:
    ConstraintSet.applyTo(myLayout)

  • 此外,由于您正在从
    myLayout
    中删除所有视图,并且没有向其中添加任何内容,因此您的布局将是空的。请解决上述问题。

    您好,请为每个轴设置至少一个约束,在这里您已经定义了结束,还定义了顶部或/和底部。我添加了有问题的约束,但它不能解决问题(和/或相关)。