The goal is to add 3 text fields that are in different layout'ax by clicking on the button. (1 field in full width of the screen, 2 on the same line with 3, 3 fields twice as large as 1)

Here is the time. Nothing appears on the screen.

setContentView(R.layout.create_buy); layoutik = (LinearLayout) findViewById(R.id.for_main_text); layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); @Override public void onClick(View view) { if(view == do_new_field) { if(last_field <= fields) { text[last_field] = new EditText(this); many[last_field] = new EditText(this); cost[last_field] = new EditText(this); text[last_field].setWidth(305); text[last_field].setHeight(LinearLayout.LayoutParams.WRAP_CONTENT); text[last_field].setMaxLines(3); text[last_field].setHint("Название"); many[last_field].setWidth(91); many[last_field].setHeight(LinearLayout.LayoutParams.WRAP_CONTENT); many[last_field].setInputType(InputType.TYPE_CLASS_NUMBER); many[last_field].setMaxLines(1); many[last_field].setHint("Сколько"); cost[last_field].setWidth(LinearLayout.LayoutParams.WRAP_CONTENT); cost[last_field].setHeight(LinearLayout.LayoutParams.WRAP_CONTENT); cost[last_field].setInputType(InputType.TYPE_CLASS_NUMBER); cost[last_field].setMaxLines(1); cost[last_field].setHint("Цена"); text[last_field].setLayoutParams(layoutParams); many[last_field].setLayoutParams(layoutParams); cost[last_field].setLayoutParams(layoutParams); layoutik.addView(text[last_field]); layoutik.addView(many[last_field]); layoutik.addView(cost[last_field]); last_field++; } } 

}

    1 answer 1

    You can go the other way, add them initially to the layout and make them invisible (android: visibility = "invisible"), and after clicking on the button, change to visible ones (View.setVisibility (View.VISIBLE));

    • I need a user to create up to 50 such widgets. - Ques