2016-04-27 100 views
1

我正在接近完成它的Android應用程序工作,但我發現在recyclerView中的問題,我不知道如何獲得recyclerView項目的文本? (當我點擊該項目時)獲得項目的文本recyclerView

+0

分享您的代碼。 –

回答

2

首先,您需要創建一個偵聽器,該偵聽器將視圖和位置作爲參數。它直接存在於listView中。那麼你的活動中

public class RecyclerClickListener implements RecyclerView.OnItemTouchListener { 

private OnItemClickListener mListener; 
    GestureDetector mGestureDetector; 

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

public RecyclerClickListener(Context context, OnItemClickListener listener) { 
    mListener = listener; 
    mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { 
     @Override public boolean onSingleTapUp(MotionEvent e) { 
      return true; 
     } 
    }); 
} 

@Override 
public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) { 
    View childView = view.findChildViewUnder(e.getX(), e.getY()); 
    if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) { 
     mListener.onItemClick(childView, view.getChildLayoutPosition(childView)); 
     return true; 
    } 
    return false; 
} 

@Override 
public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { } 

@Override 
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) { 

} 

} 

:對於您可以創建這樣一個類

recyclerView.addOnItemTouchListener(// and the click is handled 
      new RecyclerClickListener(getActivity(), new RecyclerClickListener.OnItemClickListener() { 
       @Override public void onItemClick(View view, int position) { 
        Log.d("click item", String.valueOf(position)); 
        TextView textView = (TextView) view.findViewById(R.id.YourTextViewID); 
          Log.d("test",textView.getText().toString());        
        } 
       } 
      })); 
+0

這是什麼意思? – YounYou

+0

viewHolder的layout_item_list中的一個 – Chami