如何从recyclerview中的项目中获取价值

时间:2019-08-01 16:41:43

标签: android android-recyclerview android-edittext

如何从RecyclerView项目中获取价值并将其传递给EditText。下面的这段代码显示了单击项目时我的项目名称

@Override
    public void onItemClick(View view, int position) {
        edit.setText("text" + adapter.getItem(position));
        edit.setText(toString().toUpperCase());

    }

1 个答案:

答案 0 :(得分:1)

我们过去吧

edit.setText("text" + adapter.getItem(position));

上面的行设置for(我假设)EditText的文本。设置的文本是在position

处强制转换为字符串的项目
edit.setText(toString().toUpperCase());

此行为完全相同的对象设置文本,但这一次它是通过toString()方法设置的。在这种情况下,必须知道调用哪个toString(),这一点很重要。在这种情况下-来自适配器-您在其中重新定义onItemClick

的类

要获得您想做的就是将其更改为:

edit.setText(
    "text" +
    adapter
        .getItem(position)
        .toString()
        .toUpperCase()
)

您可以将其折叠成一行-我这样做是为了帮助说明发生了什么。

这样调用的toString()方法不是来自您碰巧写入的那个类,而是针对您从getItem()获得的那个确切对象