2011-09-06 104 views
10

我正在添加一個ImageView s的數組,並動態地爲每個ImageView設置一個圖像,我完成了它。但問題是如何設置/定義onClicklistener方法在ImageView如何在Android中設置ImageView的onClicklistener方法?

這裏是我的代碼:

ImageView[] mImages; 
int[] images={R.drawable.sandle_icon1, R.drawable.sandle_icon2, 
      R.drawable.sandle_icon3, R.drawable.sandle_icon4}; 

LinearLayout ll = new LinearLayout(this); 
mScrollViewImage.removeAllViews(); 
ll.setOrientation(LinearLayout.VERTICAL); 
mImages = new ImageView[images.length]; 
mScrollViewImage.addView(ll); 
for (floop = 0; floop < sandleicon.length; floop++) { 
    mImages[floop] = new ImageView(this); 
    mImages[floop].setImageResource(images[floop]); 
     ll.addView(mImages[floop]); 
} 

任何幫助將不勝感激。

+0

您好迪帕克.... u必須創建ImageView的整型數組... Mitesh耆那教SKP –

+0

我已經創建整數數組。 –

回答

23
for (floop = 0; floop < sandleicon.length; floop++) { 
    mImages[floop] = new ImageView(this); 
    mImages[floop].setImageResource(images[floop]); 
    mImages[floop].setId(floop); 
    ll.addView(mImages[floop]); 
    mImages[floop].setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      //v.getId() will give you the image id 
     } 
    }); 
} 
+1

你好Rasel,我用過,但問題是如何得到特定圖像的點擊imageview的索引。 –

+0

查看原文查看更多回答 – Rasel

+0

V.getId給我只有-1值。 –

3
mImages[floop].setOnClickListener(clickListener); 

private OnClickListener clickListener = new OnClickListener() { 

     public void onClick(View v) { 

     } 
}; 

這就是你如何設置onclicklistener到任何視圖。

+0

你可以使用mImages [floop] .setTag(floop),setTag和getTag用於存儲一些與視圖相關的數據。 –

+0

這兩個語句的順序應該改變。你應該首先聲明然後分配監聽器? –

3

這片段爲我工作

// update the Youtube thumbnail images 
     this.youtube_thumbnail = (ImageView) listView.findViewById(R.id.youtube_thumbnail); 

     this.youtube_thumbnail.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       System.out.println("Adding youtube thumbnail"); 

      } 
     }); 
相關問題