将EditText的值保存在RecyclerView中

时间:2019-03-01 04:50:29

标签: android android-recyclerview android-edittext recycler-adapter

我有一个应用程序,其中有RecyclerView个包含图像的10个项目,每个TextView都有一个对应的ImageView

该应用程序需要具有一项功能,即用户可以为每个项目添加和循环浏览无限数量的“事实”,并删除显示的内容,如下所示。

如果任何人都可以解释如何做到这一点,那将真的有帮助。

App Example

3 个答案:

答案 0 :(得分:0)

您可以通过onClick事件监听器上的适配器在选定位置的文本视图中设置编辑视图的值。

  

为此,您需要的是在text-view中显示的文本数组。

答案 1 :(得分:0)

如果是修改

  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);

答案 2 :(得分:0)

@Michael Dadi-如果有人可以解释如何做到这一点,那将真的有帮助。

我只是向您介绍了归档此任务的方法

首先,make POJO or Model class from 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;
        }
    }
}

}

  

它将在应用程序关闭时临时存储您的数据,您将丢失所有数据   因此您可以使用任何数据库在本地设备中保存数据。

现在您可以在recyclerview中使用此Animal.class来设置适配器。