从RecyclerView中的EditText获取EditableText

时间:2016-10-09 13:08:57

标签: java android android-recyclerview

我有0件物品的回收者视图,我添加了一个手动添加物品的选项,我的结构很简单:

  1. RV_Item.xml(包含EditText)。
  2. MyItem,它是RV的对象(包含私有字符串文本;)。
  3. MainActivity.java,这些东西发生了。

    // My List<Object>
    List<MyItem> Items = new ArrayList<>();
    
    // For Adding, I've added FAB-Button, When Clicked, it does the following :
    Items.add(new MyItem());
    CheckForEmptyItems();
    mAdapter.notifyItemInserted(0);
    
    Now, When the user click the save button, i want to take all the edittext in all the items he had added, i'm doing in the following way :
    
                    for(MyItem items : Items){
                        Log.i("PrintingInfo", items.getText() );
                    }
    
  4. 问题是,我没有得到他在所有EditText字段中输入的文本,并且它在所有这些字段中都返回Null,这有什么问题?

1 个答案:

答案 0 :(得分:1)

所以,我不知道为什么我总是在发布后知道答案,但这里有你怎么知道用户输入的内容:

在您的Adapter类中,在onBindViewHolder方法中,为EditText添加textlistener,这是一个例子:

holder.MyEditText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

        }

        @Override
        public void afterTextChanged(Editable s) {
            itemList.get(position).setText(s.toString());
        }
    });

希望能帮到你!