如何在回收者视图上将Edittext值保存到后端

时间:2019-01-25 06:08:52

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

我正在开发一个使用大量二维码扫描的应用程序。在我的模块之一中,我扫描了代码,并在recyclerView上获取了与扫描结果相关的各个标签。

现在我的这个rec​​yclerview列表的布局包含一个TextView和一个editText。在适配器类的帮助下,列表中的每个标签都会获取并带有一个editText。

现在我要做的是通过每个标签前面的editext保存每个标签的数据。 我在这里的问题是我该怎么做。

从适配器或适配器的父片段获取每个EditText的数据,并将其发送给服务(这里我正在使用翻新)。

我浏览了网络,但发现没有任何帮助。如果您中有谁可以帮助您或者建议我其他人这样做,那将是很棒的。

任何帮助将不胜感激!!!!

:: EDIT ::

  

labelAdapter.java

public class labelsAdapter extends RecyclerView.Adapter<labelsAdapter.UsersViewHolder> {

Context context;
List<LabelModel> userListResponseData;
ArrayList<String> labeldatalist = new ArrayList<String>();

public labelsAdapter(Context context, List<LabelModel> userListResponseData) {
    this.userListResponseData = userListResponseData;
    this.context = context;

}

@Override
public UsersViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

    View view = LayoutInflater.from(context).inflate(R.layout.label_list_items, parent,false);
    UsersViewHolder usersViewHolder = new UsersViewHolder(view);
    return usersViewHolder;
}

@Override
public void onBindViewHolder(@NonNull UsersViewHolder usersViewHolder, int i) {

    String label_item = userListResponseData.get(i).getLabel_name();
    usersViewHolder.tv_labelName.setText(label_item);
    usersViewHolder.ed_labelValue.getText().toString();




}



@Override
public int getItemCount() {
    return userListResponseData.size(); // size of the list items
}

class UsersViewHolder extends RecyclerView.ViewHolder {
    // init the item view's
   private TextView tv_labelName;
   private EditText ed_labelValue;

    public UsersViewHolder(View itemView) {
        super(itemView);
        // get the reference of item view's
        tv_labelName = (TextView)itemView.findViewById(R.id.label_list_tv);
        ed_labelValue = (EditText)itemView.findViewById(R.id.label_list_edt);
    }
}
 }

2 个答案:

答案 0 :(得分:0)

使用textchangelistener进行适配器编辑文本,并在适配器类中侦听文本更改,然后将值存储在后端。

var dateformat = "%Y-%m"
drawTimeSeriesGraph(data1, dateformat);

答案 1 :(得分:0)

不好的做法是将编辑文本放入回收器视图。但是如果您的名单上有10到15张左右的唱片,那么您可能会这么做。或者,您可以打开一个弹出窗口。 如果您使用列表中的edittext,则必须设置

yourEt.addTextChangedListener(new TextWatcher() {
    @Override
    public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        // TODO Auto-generated method stub
    }

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