Android – добавление текста в макет при нажатии кнопки

Поэтому прямо сейчас у меня есть текстовое поле с кнопкой (добавить +) под ним.

Я хотел бы сделать так, чтобы всякий раз, когда текст вводится в текстовое поле и нажимается кнопка «Добавить», новое текстовое представление добавляется к вертикальному расположению под ним с текстом, который пользователь вводил в поле.

Я не хочу просто делать текстовое представление невидимым, а затем видимым при нажатии, потому что я хотел бы, чтобы они могли добавлять несколько текстовых представлений с любым типом текста.

Solutions Collecting From Web of "Android – добавление текста в макет при нажатии кнопки"

Этот код содержит то, что вы хотите. (В представлении отображается EditText и кнопка, после нажатия кнопки текст будет добавлен в LinearLayout)

private LinearLayout mLayout; private EditText mEditText; private Button mButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mLayout = (LinearLayout) findViewById(R.id.linearLayout); mEditText = (EditText) findViewById(R.id.editText); mButton = (Button) findViewById(R.id.button); mButton.setOnClickListener(onClick()); TextView textView = new TextView(this); textView.setText("New text"); } private OnClickListener onClick() { return new OnClickListener() { @Override public void onClick(View v) { mLayout.addView(createNewTextView(mEditText.getText().toString())); } }; } private TextView createNewTextView(String text) { final LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); final TextView textView = new TextView(this); textView.setLayoutParams(lparams); textView.setText("New text: " + text); return textView; } 

И xml:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/linearLayout"> <EditText android:id="@+id/editText" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Add+" />