2

imageview がたくさんあります。50 個の ImageViews があるとします。これらは 1 つの画面に表示されます。横スクロールと縦スクロールが利用可能になります。

for(int j = 0; j < numCol; j++)
{
    imageView[i*5+j] = new  ImageView(this);
    imageView[i*5+j].setImageResource(R.drawable.icon);
    imageView[i*5+j].setMaxHeight(80);
    imageView[i*5+j].setMinimumHeight(80);
    imageView[i*5+j].setMaxWidth(90);
    imageView[i*5+j].setMinimumWidth(90);
    tblRow.addView(imageView[i*5+j],j); 
    imageView[i*5+j].setOnClickListener(this);

 }

ユーザーが imageview[25] をクリックするとします。imageview[25] がクリックされたことをキャッチする直接的な方法はありますか? または、すべての imageview を反復処理する必要があります。

4

2 に答える 2

1
imageView[i*5+j].setOnClickListener( new OnClickListener() {
   @Override
   public void onClick(View v) {
       someMethod((ImageView) v);
   }
});

private someMethod(ImageView currentView) {

}
于 2013-03-05T07:02:58.103 に答える
0

使用できます

imageView[i*5+j].setTag(new Integer(j));

次にOnClockListenerで

public void onClick(View v) {
    Integer i = (Integer)v.getTag();
}
于 2013-03-05T07:06:03.373 に答える