簡體   English   中英

獲取RecyclerView項目的內容

[英]Get content of RecyclerView item

atm我的應用程序中的recyclerview有問題。

RecyclerView看起來像這樣

類別-所有地點-地點-時間-現在誰-任何人

如果單擊一行,則可以定義項目。 例如

分類-足球在哪里-何時何地-明天誰

當用戶現在點擊reyclerview下的按鈕時,我想將選擇的數據發送到我的服務器,但是我無法從Recyclerview中獲取信息。

如果我用

recyclerview.getChildAt(0).toString();

它只是給了我一個RelativeLayout。

有人知道我該如何解決這個問題?

您將獲得RecyclerView的子級,它是RelativeLayout。 此RelativeLayout包含要讀取的EditText(或TextView)。

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

您必須使用列表在recyclerView中設置數據,只需從該列表中獲取數據即可。 喜歡

list.get(position)

其中position是單擊項的位置。

您應該在適配器中自定義項目偵聽器。

首先,使用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);
}

最終,您可以根據接口的位置返回返回以獲得相應的數據

希望我能為您服務!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM