2014-09-27 1 views
1

Я реализовал весь пример из приведенной ниже ссылки, но не могу получить позицию конкретного изображения, сфокусированного в центральном положении.Как получить позицию с помощью fancycoverflow в android

https://github.com/davidschreiber/FancyCoverFlow

Так что я должен сделать для этого?

Я реализовал ниже код для моего класса:

MainActivity.java

this.fancyCoverFlow.setAdapter(new FancyCoverFlowSampleAdapter()); 
    this.fancyCoverFlow.setUnselectedAlpha(1.0f); 
    this.fancyCoverFlow.setUnselectedSaturation(0); 
    this.fancyCoverFlow.setUnselectedScale(0); 
    this.fancyCoverFlow.setSpacing(0); 
    this.fancyCoverFlow.setMaxRotation(0); 
    this.fancyCoverFlow.setScaleDownGravity(0.2f); 
    this.fancyCoverFlow.setActionDistance(FancyCoverFlow.ACTION_DISTANCE_AUTO); 

FancyCoverFlowSampleAdapter.class

public class FancyCoverFlowSampleAdapter extends FancyCoverFlowAdapter { 

    @Override 
    public int getCount() { 
     return GlobalFields.arrlistFrames.length; 
    } 

    @Override 
    public Integer getItem(int i) { 
     return GlobalFields.arrlistFrames[i]; 
    } 

    @Override 
    public long getItemId(int i) { 
     return i; 
    } 

    @Override 
    public View getCoverFlowItem(int i, View reuseableView, ViewGroup viewGroup) { 
     ImageView imageView = null; 

     if (reuseableView != null) { 
      imageView = (ImageView) reuseableView; 
     } else { 
      imageView = new ImageView(viewGroup.getContext()); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
      imageView.setLayoutParams(new FancyCoverFlow.LayoutParams(400, 500)); 
      GlobalFields.i = i; 
      Log.e("FancyFlow adapter", "Position: " +i); 
     } 
     imageView.setImageResource(this.getItem(i)); 
     return imageView; 
    } 
} 

Я реализовал как Java классы, и если я запустил этот код, на первой позиции изображения это будет l отображает вывод, как Позиция: 0, но когда я прокручиваю изображения справа налево, на второй позиции изображения он даст мне такой вывод Позиция: 2, тогда как это неправильный вывод.

Так будет непосредственно перейти от позиции 0 в положения 2, так что мне нужна ваша помощь, чтобы сделать это правильно и по нажатию кнопки я должен передать эту форму или изображение к следующей деятельности.

Ваши ценные отзывы и дополнительные усилия будут оценены.

ответ

4

вам необходимо установить для setOnItemSelectedListener. См. Ниже код

this.fancyCoverFlow.setOnItemSelectedListener(new OnItemSelectedListener() { 

     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, 
       int position, long id) { 
      Log.d("fancyFlowCurPos ", String.valueOf(position)); 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parent) { 

     } 
    });