2016-04-27 11 views
1

Androidのアプリケーションで作業していますが、これを完了するために近づいていましたが、recyclerViewの問題が見つかりました。また、recyclerViewのItemのテキストを取得する方法がわかりませんでしたか? (アイテムをクリックしたとき)アイテムのテキストを取得する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

あなたはtextViewを意味しますか? – YounYou

+0

あなたのviewHolderのlayout_item_listにあるもの – Chami

関連する問題