2011-10-23 9 views
0

キャリングセルのクリックをトリガーしようとしています。私はフォワードボタンを押すと、カルーセルのクリックを自動的にトリガして前方に移動します。手動クリック(物理的なタッチ)は動作していますが、performClick()は動作していません。コードはperformClick not triggering

//************* Forward Button: Select Objects ************* 
    Button forwardButton = (Button)this.findViewById(R.id.ForwardButton); 
    forwardButton.setOnClickListener(new OnClickListener() { 
    @Override 
     public void onClick(View v) { 
      Intent i = new Intent(NewFieldTrip.this, SelectObjects.class); 
     //ImagePosition = (int)carousel.getSelectedItemId(); 
      carousel.performClick(); 
      i.putExtra("SelectedScene",ImagePosition); 
      startActivity(i); 

     } 
    }); 

    carousel.setOnItemClickListener(new CarouselAdapter.OnItemClickListener(){ 
    @Override 
    public void onItemClick(CarouselAdapter<?> parent, View view, 
      int position, long id) {     
     Toast.makeText(NewFieldTrip.this, "Select Position=" + position, Toast.LENGTH_SHORT).show(); 
     ImagePosition = position; 
    } 

    }); 

が救いの手が:)

EDIT素晴らしいだろう、次のとおりです。

public void scrollToChild(int i){  

    CarouselImageView view = (CarouselImageView)getAdapter().getView(i, null, null); 
    float angle = view.getCurrentAngle(); 

    if(angle == 0) 
     return; 

    if(angle > 180.0f) 
     angle = 360.0f - angle; 
    else 
     angle = -angle; 

    mFlingRunnable.startUsingDistance(-angle); 


} 

答えて

2

カルーセルは、どのような種類のですか?リストビュー?

カルーセルがListViewの場合、ListViewのクリックでどのようなイベントが予想されますか?

performClickあなたはcаrouselに設定されていませんでした()トリガOnClickListener、。 をOnItemClickListenerに設定すると、performItemClick(...)を呼び出す必要があります。それを試してみてください。

UPD:

はfolowing行うようにしてください:

1)メイク方法Carousel.scrollToChild(I int型)公共

2)

int itemCount = carousel.getAdapter().getCount(); 
int item = new Random().nextInt(itemCount); 
View view - carousel.getAdapter().getView(item, null, null); 
int itemId = carousel.getAdapter().getItemId(item); 
carousel.scrollToChild(item); 
carousel.performItemClick(view, item, itemId); 
+0

大丈夫私はこのリンク上で3Dカルーセルを実装しています:http://www.codeproject.com/KB/android/androcarousel.aspx?fid=1605167&select=4059472&fr=1 ...どこでもクリックしてアイテムを実行したいカルーセル上で、私が望むものをトリガするために、3つのパラメータは、ビュー、位置、行IDです。私は今それらを理解できません: –

+0

ランダムカルーセル要素をクリックして実行しますか? – NOSTRA

+0

sry、power breakdown ..実際に私はカルーセルのどこかをクリックして実行するとランダムですが、ビュー、位置、行IDの必要性を理解していません。 –