Как удалить динамически созданный edittext java
Перейти к содержимому

Как удалить динамически созданный edittext java

  • автор:

Динамическое создание EditText

Но это все детали. Зачем вам вообще создавать вручную EditText? не проще ли воспользоваться предназначенным для этого компонентом типа GridView?

Отслеживать
ответ дан 9 июл 2015 в 9:06
4,325 13 13 серебряных знаков 22 22 бронзовых знака

  • java
  • android
  • android-studio
    Важное на Мете
Связанные
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.3.1.5619

Очистить все EditText

Author24 — интернет-сервис помощи студентам

в примере сказано R.id.sign_up заменить идентификатором корневого макета вашего XML-файла,
сомневаюсь правильно ли я это понял, возможно в этом ошибка
вместо R.id.sign_up указываю id основного LinearLayout activity_main

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Введённые данные в EditText отнимались от старых и результат выводился в Textview, в Edittext просто сменна данных
Здравствуйте, я начинающий, возникла проблема в разработке, мне нужно что бы новые данные (числа).

Как очистить содержимое EditText?
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Как очистить содержимое.

Ввод в один EditText и авто-вычисление в двух других EditText
Всем привет. Есть три поля EditText,виртуальные клавиатуры у всех заблокированы,а ввод чисел в.

EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText
EditText сещается вниз при вводе текста который занимает обём больше чем EditText. Как устранить?

Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

17208 / 10134 / 2790
Регистрация: 21.10.2017
Сообщений: 22,143

cintakc, а на этом LinearLayout случаем не лежат другие контейнеры с EditText’ами? Типа фрагментов, других лэйаутов?

Регистрация: 23.10.2015
Сообщений: 54
да, EditText находятся и в других Layout-ах внутри основного также
Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

17208 / 10134 / 2790
Регистрация: 21.10.2017
Сообщений: 22,143

Вот в них и нужно перебирать вьюхи в поиске EditTextов. Попробуй все найденные вьюхи выводить в логкэт, сразу будет видно, что нашел

Регистрация: 23.10.2015
Сообщений: 54
спасибо, попробую, но в коде это учитывается

if(view instanceof ViewGroup && (((ViewGroup)view).getChildCount() > 0)) clearForm((ViewGroup)view);

не очищаются даже те Edit , которые в основной Layout находятся

p.s.
оставил только кнопку и 2 эдита, все равно не стирает

Добавлено через 18 минут
спасибо, за советы, заработало, студию перезагрузил и стало стирать, не знаю, что было

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Какой метод в EditText для автоматического события при вводе первого символа текста в EditText ?
Здравствуйте Какой метод в EditText для автоматического события при вводе первого символа текста в.

Динамическое создание edittext и обработка данных из edittext
Здравствуйте, мне нужна помощь, у меня есть таблица, где динамически создаются edittext: for (int .

При закрытии Form всё сохраняется, как очистить всё?
Здравствуйте, такой вопросик, при закрытии формы, хоть me.close(), хоть me.hide(), всё почему то.

Как всё сместить вверх, чтобы EditText оказался вверху клавиатуры
Работаю на Android Studio. Как всё сместить вверх, чтобы EditText оказался вверху клавиатуры и.

Очистить все ComboBox
Добрый вечер! Не могли бы вы помочь с одни вопросом. У меня в форме есть 4 combobox, сейчас каждый.

Как очистить все куки?
Здравствуйте, специалисты! Помогите разобраться с, казалось бы, несложными вещами. Собственно.

Или воспользуйтесь поиском по форуму:

Курсы javascript

Но скажем если я создал где-то 10-20 таких элементов и нажму на любом из них то каким образом мне можно его удалить?
Подскажите хотя бы теорией, а то я даже не представляю себе это.

05.07.2010, 14:06
Регистрация: 14.05.2010
Сообщений: 34
ммм ни кто не знает или всем лень подсказать?
05.07.2010, 19:43
Регистрация: 02.08.2009
Сообщений: 40

Ссылку на создаваемый див сохранять отдельно в глобальном скопище, а потом спокойно удалять div.parentNode.removeChild(div). как-то так.
И вообще, можно не создавать каждый раз новое меню, достаточно одну менюшку скрыть и показать, когда нужно. Ну и функции будут слегка другими.

05.07.2010, 20:50
Регистрация: 15.12.2009
Сообщений: 742

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

__________________

Настоящий программист думает и осознает сам решение задачи, а не копирует другие мысли, не осознавая их (c)
Относись к человеку так же, как хотелось бы отношения к себе (с)
Все нужно там, где оно нужно, а все не нужно нигде (с) Gozar
B~Vladi: А кто такой JavaScript стрелок?! micscr: это тот, кто не jQuery танкист.
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт

06.07.2010, 07:20
Регистрация: 02.08.2009
Сообщений: 40
Кто пишет тормозное меню, тому и создание/удаление не поможет.
06.07.2010, 10:59
Регистрация: 24.02.2010
Сообщений: 55

var root = document.createElement("DIV"), //Тут мы создаем корневой элемент node = document.createElement("DIV"); //А тут создаем чайлда root.appendChild(node); document.body.appendChild(root);

В итоге у нас получается два новых, созданных динамически, элемента, ссылки на которых мы записали в соответствующие переменные. Далее мы можем сделать так:

root.removeChild(node);
root.removeChild(root.lastNode);

Для того, чтобы работало в твоем случае — достаточно хранить все ссылки в массиве или объекте — как удобнее. Но согласен с общим мнением по поводу неверного подхода.

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

Последний раз редактировалось pandasensey, 06.07.2010 в 11:04 .
06.07.2010, 11:39
Регистрация: 14.05.2010
Сообщений: 34

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

06.07.2010, 12:37
Регистрация: 02.08.2009
Сообщений: 40

Арсений,
Области видимости переменных в функциях. Как-то так надо искать. Скрещивать с DOM надо правильно, и все получится.

function (e)

в этой функции нужно вынести переменную div наружу, тогда созданный элемент станет легко досягаем.
06.07.2010, 13:11
Регистрация: 24.02.2010
Сообщений: 55
Я же написал:

var root = document.createElement("DIV")

После выполнения этой команды в переменную root будут записана ссылка на созданный элемент. И после добавления этого элемента к чему-дибо (appendChild) ссылка остается. Ты можешь создавать это и в цикле и присваивать элементам массива ссылки на новые элементы:

var root = document.createElement('DIV'), temp = document.createDocumentFragment(); //Это важно, потому что в цикле добавлять элементы к чему-то существующему на странице - неэтично) var links = []; for (var i = 0; i < 10; i++) < links[i] = document.createElement('DIV'); temp.appendChild(links[i]); >//В этом цикле мы создали 10 DIV'ов во временном контейнере и записали ссылки на них в массив links root.appendChild(temp); document.body.appendChild(root);

06.07.2010, 16:05
Регистрация: 14.05.2010
Сообщений: 34

pandasensey
Я вас понял но выходит что тут создается сразу 10ть диваков а мне нужно что бы диваки создавались по одному.
Вот смотрите:
шаг1 — Я нажимаю левую кнопку мыши на картинке создается дивак1
шаг2 — Я нажимаю левую кнопку мыши на картинке создается дивак2
.
шаг10 — Я нажимаю левую кнопку мыши на картинке создается дивак10
шаг11 — Я нажимаю левую\правую кнопку мыши на дивак5 появляется меню для удаления дивака

Как удалить динамически созданный edittext java

Элемент EditText является подклассом класса TextView . Он также представляет текстовое поле, но теперь уже с возможностью ввода и редактирования текста. Таким образом, в EditText мы можем использовать все те же возможности, что и в TextView.

Из тех атрибутов, что не рассматривались в теме про TextView, следует отметить атрибут android:hint . Он позволяет задать текст, который будет отображаться в качестве подсказки, если элемент EditText пуст. Кроме того, мы можем использовать атрибут android:inputType , который позволяет задать клавиатуру для ввода. В частности, среди его значений можно выделить следующие:

  • text : обычная клавиатура для ввода однострочного текста
  • textMultiLine : многострочное текстовое поле
  • textEmailAddress : обычная клавиатура, на которой присутствует символ @ , ориентирована на ввод email
  • textUri : обычная клавиатура, на которой присутствует символ / , ориентирована на ввод интернет-адресов
  • textPassword : клавиатура для ввода пароля
  • textCapWords : при вводе первый введенный символ слова представляет заглавную букву, остальные — строчные
  • number : числовая клавиатура
  • phone : клавиатура в стиле обычного телефона
  • date : клавиатура для ввода даты
  • time : клавиатура для ввода времени
  • datetime : клавиатура для ввода даты и времени

Первое поле здесь обычное однострочное, а второе — многострочное. Чтобы во втором поле текст выравнивался по верху, дополнительно устанавливается атрибут android:gravity=»top» .

EditText в Java и Android

Одной из возможностей элемента EditText также является возможность обработать введенные символы по мере ввода пользователя. Для этого определим в файле activity_main.xml следующую разметку:

Предполагается, что введенные в EditText символы тут же будут отображаться в элементе TextView. И для этого также изменим код MainActivity:

package com.example.viewapp; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity < @Override protected void onCreate(Bundle savedInstanceState) < super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); EditText editText = findViewById(R.id.editText); editText.addTextChangedListener(new TextWatcher() < public void afterTextChanged(Editable s) <>public void beforeTextChanged(CharSequence s, int start, int count, int after) < >public void onTextChanged(CharSequence s, int start, int before, int count) < TextView textView = findViewById(R.id.textView); textView.setText(s); >>); > >

С помощью метода addTextChangedListener() здесь к элементу EditText добавляется слушатель ввода текста — объект TextWatcher . Для его использования нам надо реализовать три метода, но в реальности нам хватит реализации метода onTextChanged , который вызывается при изменении текста. Введенный текст передается в этот метод в качестве параметра CharSequence. В самом методе просто передаем этот текст в элемент TextView.

В итоге при вводе в EditText все символы также будут отображаться в TextView:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *