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

  • BroadCity

    BroadCity

    10 ŞUBAT 2010
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010
  • TV and Lust

    TV and Lust

    26 HAZİRAN 2006