2016-04-11 15 views
0

Aşağıda gösterildiği gibi bir geri dönüştürücü izleme bağdaştırıcısında bulunan derecelendirme çubukları içinde bir derecelendirme çubukları listesinde seçilen derecelendirme çubuğunun konumunu nasıl alabilirim? kod? Her bir derecelendirme çubuğunun ayrı ayrı kullanıcı oyu almasını sağladım, ancak listeden belirli bir derecelendirme çubuğunun konumunu alma yöntemi olmadığından kullanıcının hangi derecelendirme çubuğunu tıklattığını anlayamıyorum. Derecelendirme kodunu, aşağıdaki kodda gösterildiği gibi geri dönüştürücü görünümünde listeyi dolduran bir adaptörün içine yerleştirdim. Değerlendirme çubuğu için this kitaplığı kullanıyorum. ve burada ben kullanıcı benim Reyting çubuğu dinleyici içindeki onCreateViewHolder olmalıdırSeçilen/tıklanan derecelendirme çubuğunun bir derecelendirme çubukları listesine göre nasıl konumlandırılacağı

@Override 
    public RateMa3Adapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { 
//  create a new view 
     View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.rate, viewGroup, false); 

     view.setOnClickListener(RateMa3.myOnClickListener); 
     ViewHolder viewHolder = new ViewHolder(view); 
     rootView = view; 
     ButterKnife.bind(this, view); 
     lowerRatingBar.setListener(ratingListener); 

     return viewHolder; 
    } 

    private RatingListener ratingListener = new RatingListener() { 
     @Override 
     public void onRatePicked(ProperRatingBar ratingBar) { 

      Snackbar.make(rootView, 
        String.format("Rating is %d " , ratingBar.getRating()), 
        Snackbar.LENGTH_SHORT).show(); 

      Log.e("Rate", ratingBar.getRating() + " rating"); 

// HOW CAN I GET THE POSITION OF A RATING BAR THE USER HAS CLICKED IN HERE?? THATS MY QUESTION, SINCE I HAVE A LIST OF RATING BARS 
     } 
    }; 

cevap

2

sadece kod seçtiği değerlendirmesi çubuğunun konumunu nasıl alabilirim benim dinleyici vermiş adaptör, benim kodudur yöntem olmalıdır:

View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.rate, viewGroup, false); 
ViewHolder viewHolder = new ViewHolder(view); 
return viewHolder; 

Sen onBindViewHolder(ViewHolder viewHolder, int position) yönteminde onClickListener belirlesin. Orada viewHolder.itemView.setOnClickListener()

+0

Teşekkür kullanın ayarlamak için RecyclerView

pozisyon bütün görünümüne onClickListener ikinci parametreyi kullanabilirsiniz! işe yaradı :) – ros

İlgili konular