2011-09-06 32 views
10

Tôi đang thêm một mảng ImageView giây và đặt hình ảnh cho mỗi ImageView động và tôi đã hoàn thành nó. Nhưng vấn đề là làm thế nào để thiết lập/xác định phương pháp onClicklistener trên ImageView?Làm thế nào để thiết lập phương pháp ImageView onClicklistener trong Android?

Đây là Mã của tôi:

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]); 
} 

Bất kỳ giúp sẽ được đánh giá rất nhiều.

+0

chào Dipak .... u phải tạo mảng số nguyên cho ImageView ... Mitesh Jain SKP –

+0

Tôi đã tạo Integer Array. –

Trả lời

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

Xin chào Rasel, tôi đã sử dụng điều đó nhưng Vấn đề là làm thế nào để có được chỉ mục của số lần xem hình ảnh khi nhấp vào hình ảnh cụ thể. –

+0

Xem Câu trả lời được cập nhật – Rasel

+0

V.getId là Chỉ cho tôi Giá trị -1. –

3
mImages[floop].setOnClickListener(clickListener); 

private OnClickListener clickListener = new OnClickListener() { 

     public void onClick(View v) { 

     } 
}; 

Đây là cách bạn đặt onclicklistener cho bất kỳ chế độ xem nào.

+0

u có thể sử dụng mImages [floop] .setTag (floop), setTag và getTag được sử dụng để lưu trữ một số dữ liệu liên quan đến chế độ xem. –

+0

thứ tự của cả hai câu lệnh phải được thay đổi. bạn nên khai báo trước và sau đó chỉ định người nghe? –

3

này đã làm việc cho tôi trong đoạn

// 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"); 

      } 
     }); 
Các vấn đề liên quan