2016-04-27 40 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