Intereting Posts
Разработка двух приложений для Android и связь между двумя Как отобразить сообщение Toast из класса, который не расширяет Activity Android – настройка тайм-аута для AsyncTask? Android – проблемы с использованием FragmentActivity + Loader для обновления FragmentStatePagerAdapter Миграция с Eclipse на Android Studio Ошибка Содержимое не допускается в прологе Использование Pull to Refresh gridview в viewpager в Activity внутри ActivityGroup вызывает ClassCastException Как я могу захватить, когда изменяется время в TimePicker, если используется «мягкая» клавиатура? Странное поведение гибридного приложения на основе CrossWalk при воспроизведении веб-аудио m4a Проект библиотеки Android – как получить контекст? Android In App Billing: покупка продолжает отменять ответ пользователя -1005 База данных SQLite «контекст» передается адаптеру AndEngine: использование PIXEL_TO_METER_RATIO ShareActionProvider не работает, когда showAsAction = ifRoom Добавить эффекты тени в поле EditText Android Espresso не ждет завершения пользовательского интерфейса

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+" />