SORU
28 HAZİRAN 2014, CUMARTESİ


RecyclerView özelliği

Herkes RecyclerView kullanarak bir şekilde RecyclerView öğeler için onClickListenerbir set için buldu? Her madde için düzenleri her bir dinleyici ama bu biraz fazla bir güçlük gibi görünüyor ayarı düşündüm RecyclerView yol onClick olayı dinlemek vardır eminim ama tam olarak çözemedim.

CEVAP
4 EKİM 2014, CUMARTESİ


Burada daha iyi ve daha az sıkı eşleşmiş bir RecyclerView için bir OnClickListener uygulamak için bir yol.

Kullanım parçacığı:

RecyclerView recyclerView = findViewById(R.id.recycler);
recyclerView.addOnItemTouchListener(
    new RecyclerItemClickListener(context, new RecyclerItemClickListener.OnItemClickListener() {
      @Override public void onItemClick(View view, int position) {
        // do whatever
      }
    })
);

RecyclerİtemClickListener uygulanması

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;


public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener {
  private OnItemClickListener mListener;

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

  GestureDetector mGestureDetector;

  public RecyclerItemClickListener(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.getChildPosition(childView));
      return true;
    }
    return false;
  }

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

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Atlantic Records

    Atlantic Rec

    15 Aralık 2006
  • RaquelGamesBR

    RaquelGamesB

    20 HAZİRAN 2009
  • Tek Syndicate

    Tek Syndicat

    23 Temmuz 2008