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

Русские Блоги

Реализовать динамическое добавление и удаление элемента в recycleView и вложить editText в элемент

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

Класс функции обратного вызова:

Адаптер и ViewHolder:

Расположение элементов в адаптере:

Файл макета счетчика:

Класс модели: Поле isAdded указывает, можно ли удалить этот элемент, когда вы щелкаете, чтобы добавить строку элемента.

Приведенный выше код может достичь эффекта.

Есть подробный момент, который у меня более глубокий опыт использования на этот раз, то есть метод getLayoutPosition () в ViewHolder; в следующем исходном коде перечислены общие методы:

Здесь есть проблемы, над которыми стоит задуматься: во-первых , Создав ViewHolder, мы можем получить макет представления элемента для заполнения с помощью представления элемента Мы можем получить все дочерние элементы управления, то есть в Процесс findViewById дочернего элемента управления передается методу построения ViewHolder (доступны и другие методы), его суть выполняется при генерации ViewHolder в методе onCreateViewHolder ; Во-вторых, Вообще говоря, после того как мы получим дочерний элемент управления findViewById, мы можем установить его событие прослушивателя, например etPayMoney.addTextChangedListener (this) или btn.setOnClickListener (this) и т. Д. , Вот небольшая деталь, потому что в Держатель в onBindViewHolder. etPayMoney.addTextChangedListener (this) также можно использовать, Куда написать такое заявление о событии, Конструктор OnBindViewHolder или ViewHolder раньше был расплывчатым, а теперь более четким. Причина в том, чтобы получить редактируемую в данный момент модель при редактировании с помощью метода dataList.get (index), где метод index — это getLayoutPosition () может точно получить индекс текущей позиции, щелкнув, а getLayoutPosition (), показанный в приведенном выше исходном коде, является методом ViewHolder, который можно вызвать напрямую 。

включить Класс recycleView рассматривает исходный код более чем 10 000 строк кода и различных методов. Восхищаясь исследованиями и разработками и разработчиками, я также напоминаю себе, что мне следует больше смотреть на исходный код. Многие вещи можно изучить и реализовать самостоятельно. Трехсторонняя библиотека не всемогуща, и надеемся избавиться от такой зависимости как можно скорее. на О recycleView можно многое узнать.

Как удалить объект из памяти, Java?

public static UserInterface user;
После закрытия в данном случае Android приложения (onDestroy метод) ссылка сохранилась в памяти как собственно и объект, из за этого в методе onCreate не сработало условие

Как удалить объект из памяти?

На данный момент на уме только поставить (user = null) в onDestroy;

  • Вопрос задан более трёх лет назад
  • 18458 просмотров
  • Facebook
  • Вконтакте
  • Twitter

Никак. Эта работа мусоросборщика. Чтобы дать ему понять что объект можно стереть из памяти нужно удалить все ссылки на него. Т.е.:

  • Facebook
  • Вконтакте
  • Twitter
  • Facebook
  • Вконтакте
  • Twitter

Какова вероятность запуска гербачколлектора выше: без обращения к данному методу или с обращением?

ПС: И учитесь подбирать выражения. Иначем мне придется призвать модераторов для получения ваших извинений.

@svd71 Причем тут вероятность? Вы пообещали всему интернету что вызов System.gc заставить мусоросборщик работать. Это не так, почитайте документацию.

PS Вы не политик случайно? Очень похоже: сначала обещать, а потом пугать полицией. Призывайте модераторов, надеюсь они удалят ваш ответ.

stweet

Тоже задался похожим вопросом. Ранее писал на AS(Flash) там с обработчиками туго, приходиться следить самому. Сейчас в JAVA столкнулся с похожей задачей.

Пример:
Есть некий список чекбоксов, подписываюсь на изменение состояния каждого из них. Сам же список формирует модель из выбранного пользователем файла.
Вопрос:
Важно ли отписываться от каждого чекбокса в случае обновления списка или достаточно просто удалить сам чекбокс?

Просто, список полей не малый и желание оптимизировать постоянно отвлекает. Заранее спасибо!

Чтобы удалить динамически созданные EditTexts

Я написал код для создания динамического EditText. Теперь я хочу удалить из него собственный EditText, например, в контактах в Android. Как добиться этой функциональности? Ниже моего кода, показывающего imgaddress, есть кнопка, по нажатию которой я добавляю представление, т.е. editText и imageview отменяются сейчас при нажатии кнопки отмены. Я хочу удалить editText.

Вы пытаетесь вставить imageView и editText и удалить editText по клику imgaddess? — kamil

да точно такой же функционал я хочу — user2318272

Итак, какой editText вы хотите удалить при нажатии imgaddess? Текст редактирования, который вы добавили с этим адресом изображения? — kamil

По приведенному выше коду я получаю один EditText и Exact перед ним, одно изображение для удаления, поэтому при щелчке этого изображения соответствующий editText должен быть удален — user2318272

Просто опубликуйте мой ответ, пожалуйста, проверьте — kamil

4 ответы

Я обычно использую editText.setVisibility(EditText.GONE); и

editText = null; должен собирать мусор.

ответ дан 25 апр.

да, это можно сделать, но моя проблема в том, как получить динамический EditText — user2318272

конечно, вам нужно будет сохранить ссылку на ваши элементы управления EditText в каком-то массиве/списке массивов. Вы можете сделать это в своем методе editText. — Пиюш-Спроси любую разницу

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

Разве позиция edittext/ImageButton в вашем списке EditText не будет соответствовать индексу этого конкретного EditText в массиве. Поскольку у меня нет доступа к вашему коду, вам нужно будет найти способ, с помощью которого можно получить текущую позицию/индекс нажатой кнопки ImageButton. Как только вы это получите, идите и удалите Edittext, соответствующий этой позиции/индексу, из ArrayList. — Пиюш-Спроси любую разницу

Как удалить программно созданный View?

Хочу сделать приложение "список покупок". При нажатии на кнопку "Добавить" в LinearLayout добавляю новый LinearLayout с текстом(EditText) (название покупки) и кнопкой "Del":

Но я не знаю, как удалить теперь эти элементы при нажатии кнопки Del. Ведь при создании элементов я не задавала ID и, как я поняла, ID можно задать только целочисленным. И нужно кнопки Del тоже отличать одну от другой. Подскажите пожалуйста, как это лучше реализовать. В крайнем случае можно было бы задавать целым числом(по-моему, я видела метод для удаления по ID), но мне кажется, это неправильно.

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

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