AndroidStudio:单击时显示输入字段
我正在构建一个android应用程序,用户可以在其中创建、查看、删除和更新他的烹饪食谱 如果用户正在创建配方,我希望他能够添加步骤,如:步骤1:,步骤2:,等等。 因此,如果用户需要另一个步骤,他只需点击“添加步骤”按钮,上一个步骤的下方就会出现一个输入字段AndroidStudio:单击时显示输入字段,android,android-studio,Android,Android Studio,我正在构建一个android应用程序,用户可以在其中创建、查看、删除和更新他的烹饪食谱 如果用户正在创建配方,我希望他能够添加步骤,如:步骤1:,步骤2:,等等。 因此,如果用户需要另一个步骤,他只需点击“添加步骤”按钮,上一个步骤的下方就会出现一个输入字段 我试着找这个,但什么也没找到。有人能帮我找到正确的方向吗?假设您正在使用constraintlayout EditText step1 = findViewById(R.id.step1); EditText step2 = new
我试着找这个,但什么也没找到。有人能帮我找到正确的方向吗?假设您正在使用constraintlayout
EditText step1 = findViewById(R.id.step1);
EditText step2 = new EditText(this);
step2.setId(R.id.step2);
step2.setLayoutParams(new ConstraintLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
ConstraintSet constraintSet = new ConstraintSet();
ConstraintLayout constraintLayout = findViewById(R.id.parent);
constraintLayout.addView(step2);
constraintSet.clone(constraintLayout);
constraintSet.connect(step2.getId(),ConstraintSet.START,ConstraintSet.PARENT_ID,ConstraintSet.START,0);
constraintSet.connect(step2.getId(),ConstraintSet.END,ConstraintSet.PARENT_ID,ConstraintSet.END,0);
constraintSet.connect(step2.getId(),ConstraintSet.TOP,step1.getId(),ConstraintSet.BOTTOM,0);
constraintSet.constrainWidth(R.id.step2,ConstraintSet.MATCH_CONSTRAINT);
constraintSet.constrainHeight(R.id.step2,ConstraintSet.MATCH_CONSTRAINT);
constraintSet.applyTo((ConstraintLayout)findViewById(R.id.parent));
使用下面的代码,我可以在单击按钮时创建新的EditText字段
private int hint = 0;
public void addStep(View view) {
//Get the linearLayout where the EditText fields will appear.
LinearLayout container = findViewById(R.id.linearLayout);
//Increment id by 1.
hint++;
//Create a new EditText field.
EditText step = new EditText(this); //Creating new TextView
//Add attributes to EditText
step.setId(hint);
step.setText("step");
step.setMaxLines(1);
step.setWidth(160);
//Finally Display the EditText field in the LinearLayout
container.addView(step);
}
当我按下按钮时,我的应用程序似乎崩溃了。