获取RecyclerView项目的内容

时间:2016-05-04 13:09:38

标签: java android android-recyclerview

atm我在我的应用程序中遇到了recyclerview的问题。

RecyclerView看起来像这样

分类 - 全部 在哪里 - 地方 什么时候 - 现在 谁 - 任何人

如果单击某行,则可以定义项目。 例如

分类 - 足球 哪里 - 到处都是 什么时候 - 明天 谁有人

当用户现在点击reyclerview下的按钮时,我想将选择的数据发送到我的服务器,但是我无法从Recyclerview中获取信息。

如果我使用

recyclerview.getChildAt(0).toString();

它只给了我一个RelativeLayout回来。

有人知道如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

您正在接收RecyclerView的子项,这是一个RelativeLayout。这个RelativeLayout包含你想要阅读的EditText(或TextView)。

RelativeLayout relativeLayout = (RelativeLayout) recyclerview.getChildAt(0);
EditText editText = (EditText) relativeLayout.findViewById(R.id.yourEditTextId);
String info = editText.getText();

答案 1 :(得分:0)

您必须使用列表在recyclerView中设置数据,只需从该列表中获取数据即可。像

list.get(position)

其中position是点击项目的位置。

答案 2 :(得分:0)

您应该在适配器中自定义项侦听器。

首先,使用ViewHolder实现View.OnClickListener

像这样:

 public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{

    @Override
    public void onClick(View v) {
        if (onItemClickListener != null) {
            onItemClickListener.onItemClick(v, getAdapterPosition());
        }
    }
 }

之后,在适配器中自定义一个监听器和setListener:

public void setOnItemClickListener(OnItemClickListener itemClickListener) {

    this.onItemClickListener = itemClickListener;
}


public interface OnItemClickListener {
    void onItemClick(View view, int position);
    boolean onItemLongClick(View view,int position);
}

最后,您可以根据界面的位置返回获取相应的数据

希望我能帮到你!