我正在开发一个使用大量二维码扫描的应用程序。在我的模块之一中,我扫描了代码,并在recyclerView上获取了与扫描结果相关的各个标签。
现在我的这个recyclerview列表的布局包含一个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);
}
}
}
答案 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();
}
});