android - 从recyclerview的每一行获取数据

标签 android android-recyclerview

我有一个 RecyclerView,它的每一行都有一个 EditText。行数在 50 到 60 之间。我从服务器获取行数。如何获取每个 EditText 的文本?这个 Action 会给我一个异常错误吗?

最佳答案

您可以在适配器和 View 持有者中实现此逻辑:

class YourAdapter extend RecyclerView.Adapter<YourAdapter.ViewHolder> {
     List<String> yourEditTextContents = ...;

     @Override
     public void onBindViewHolder(ViewHolder holder, int position) {
          holder.yourEditText.setTag(position);
          holder.yourEditText.setText(yourEditTextContents.get(position));
     }

     class ViewHolder extend RecyclerView.ViewHolder {
          EditText yourEditText;
          public ViewHolder(View root){
               ...
               yourEditText = root.findViewById();
               yourEditText.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) {
                        int position = (int)yourEditText.getTag();
                        yourEditTextContents.set(position, s.toString());
                    }
                });
          }
     }
}

之后,您可以使用以下方式获取编辑文本的文本:

yourEditTextContents.get(position)

关于android - 从recyclerview的每一行获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35991835/

相关文章:

Android 自定义 View - 自定义属性错误

android - 我可以在 LinearLayout 中强制缩小特定元素吗

android - 超新星表情符号库与 Android 中的 socket.io 聊天应用程序集成

java - 在回收站 View 中切换到下一个 EditText 时,如何保持软键盘向上?

java - 插入充电器时自动启动应用程序

android - Scrollview 没有在 Fragment 中完全滚动,Android

Android 应用程序与 Arduino 串行通信不同步

android - 如何为 Recycler View 的选定项目设置颜色?

java - RecyclerView 不显示接收到的数据

android - RecyclerView 适配器 notifyDataSetChanged 停止花哨的动画