Android - 如何从 MainActivity 中的 RecyclerView 检索 EditText 值

标签 android android-edittext android-recyclerview

如何从 RecyclerView 在 MainActivity 中创建的所有 EditText 中检索值?

在我的 RecyclerView 适配器中,我正在扩展我的内部类:

public class MyPersonalAdapter extends RecyclerView.Adapter<MyPersonalAdapter.MyPersonalViewHolder>

我在该内部类中获得了对 EditText 的引用:

 class MyPersonalViewHolder extends RecyclerView.ViewHolder {

        TextView numberTextView;
        EditText nameEditText;

        public MyPersonalViewHolder(View itemView) {
            super(itemView);
            numberTextView = (TextView) itemView.findViewById(R.id.tv_number);
            nameEditText = (EditText) itemView.findViewById(R.id.et_name);
        }
    }

在我的 MainActivity 中我想使用:

for (int i = 0; i < count; i++) {
    String name = "Somehow get that name";
    cv.put(MyContract.MyEntry.COLUMN_NAME, "name");
}

最佳答案

成功了,这是编辑后的代码:

mAdapter = new MyClassAdapter(this, mDataset.size);
mRecyclerView.setAdapter(mAdapter);
mRecyclerview.setItemViewCacheSize(mDataset.size());

List<ContentValues> list = new ArrayList<>();

for (int i = 0; i < mDataset.size(); i++) {
    View view = recyclerView.getChildAt(i);
    EditText nameEditText = (EditText) view.findViewById(R.id.et_name);
    String name = nameEditText.getText().toString();

    ContentValues cv = new ContentValues();
    cv.put(MyContract.MyEntry.COLUMN_NAME, name);
    list.add(cv)
}

// I encapsulated this in a try catch
for (ContentValues c:list) {
    mDb.insert(MyClassContract.MyClassEntry.TABLE_NAME, null, c);
}

关于Android - 如何从 MainActivity 中的 RecyclerView 检索 EditText 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43542629/

相关文章:

android - 在 recyclerview fragment 中实现上下文操作模式的问题

android - 是否存在不可操作的设备时间?

android - 如何从 Android 中的图像文件创建位图

android - 如何用 Java.lang.NullPointerException 解决 FATAL EXCEPTION?

android - 如何在多行中获取 Textinputlayout 提示 android?

java - 具有多种 View 类型的 RecyclerView 适配器出现 IndexOutOfBoundsException

java - Popup设置为wrap_content后如何获取其高度?

java - Android 搜索栏小部件 : no vertical orientation?

android - edittext.settext() 将键盘类型更改为默认值 [从 ?123 到 ABC]

java - Fragment中RecyclerView使用setAdapter时出错