Сохранение значений EditText в RecyclerView - PullRequest
0 голосов
/ 01 марта 2019

У меня есть приложение, в котором есть RecyclerView из 10 элементов с изображениями и соответствующее TextView для каждого ImageView.

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

Если бы кто-нибудь мог объяснить, как это сделать, это действительно помогло бы.

App Example

Ответы [ 3 ]

0 голосов
/ 01 марта 2019

В случае редактирования

  1. В onclick любого элемента recyclerView показать editText и добавить кнопку факта.
  2. В вашемon Click кнопки «Добавить факт»: получить текст из editText и установить его в массив с помощью:
arraylist.set(pos,text);
adapter.notifyItemChanged(pos);

В случае добавления В вашей onClick кнопки «Добавить факт»: получите текст из editText и установите его в массив с помощью:

arraylist.add(text);
adapter.notifyItemInserted(arraylist.size()-1);
0 голосов
/ 01 марта 2019

@ Майкл Дади - Если бы кто-нибудь мог объяснить, как это сделать, это действительно помогло бы.

Я просто объяснил вам способ архивации этого задания

Прежде всего, сделать POJO или класс модели из JSON это будет просто

{


 "animalList": [
    {
      "animalName": "cat",
      "animalFactList": [
        {
          "fact": "this ia fun fact of cat one"
        },
        {
          "fact": "this ia fun fact of cat two"
        }
      ],

},


 {
      "animalName": "dog",
      "animalFactList": [
        {
          "fact": "this ia fun fact of dog one"
        },
        {
          "fact": "this ia fun fact of dog two"
        }
      ],

    },
{
      "animalName": "xyz",
      "animalFactList": [
        {
          "fact": "this ia fun fact of xyz one"
        },
        {
          "fact": "this ia fun fact of xyz two"
        }
      ],

}


],

}

Вот класс модели из JSON

public class Animal {

private List<AnimalListBean> animalList;

public List<AnimalListBean> getAnimalList() {
    return animalList;
}

public void setAnimalList(List<AnimalListBean> animalList) {
    this.animalList = animalList;
}

public static class AnimalListBean {
    /**
     * animalName : cat
     * animalFactList : [{"fact":"this ia fun fact of cat one"},{"fact":"this ia fun fact of cat two"}]
     */

    private String animalName;
    private List<AnimalFactListBean> animalFactList;

    public String getAnimalName() {
        return animalName;
    }

    public void setAnimalName(String animalName) {
        this.animalName = animalName;
    }

    public List<AnimalFactListBean> getAnimalFactList() {
        return animalFactList;
    }

    public void setAnimalFactList(List<AnimalFactListBean> animalFactList) {
        this.animalFactList = animalFactList;
    }

    public static class AnimalFactListBean {
        /**
         * fact : this ia fun fact of cat one
         */

        private String fact;

        public String getFact() {
            return fact;
        }

        public void setFact(String fact) {
            this.fact = fact;
        }
    }
}

}

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

теперь вы можете установить адаптер, используя этот класс Animal.class вrecyclerview.

0 голосов
/ 01 марта 2019

Вы можете установить значение edit-view в text-view выбранной позиции через адаптер в слушателе событий onClick.

Для этого вам нужен массив текстов для отображения в text-view.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...