設置監聽器的圖像內instantiateItem():
@Override
public Object instantiateItem(View collection, int position) {
final LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.my_layout, null);
final ImageView image = (ImageView)layout.findViewById(R.id.image_display);
final int cPos = position;
image.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
ImageView i = (ImageView)v;
if(cPos == 0)
{
//...
}
//...
}
});
return layout;
}
或者,你可以使用ImageView.setTag()
方法包括什麼活動,推出數據。例如
if(position == 0) image.setTag("com.blah.android.SomeActivity");
if(position == 1) image.setTag("com.blah.android.AnotherActivity");
//...
而且在裏面的onClick()以上的有這個代替:
ImageView i = (ImageView)v;
String activityClassName = (String)i.getTag(); // Get the info we stored in the tag.
MyActivity.this.startActivity((new Intent()).setClassName(MyActivity.this, activityClassName));
注意,在這裏,你實際上並不需要投給ImageView的,因爲getTag()
是View
的方法。對於每個ImageView,您也不需要單獨的OnClickListener。您可以創建一個OnClickListener實例,該實例像上面那樣獲取標籤數據,並啓動相應的活動。在instantiateItem()
內的每個ImageView上設置此OnClickListener。
P.S.如果您正在下載圖片,我強烈建議您查看一些爲Android編寫的圖片下載程序。例如 https://github.com/nostra13/Android-Universal-Image-Loader
顯示您嘗試過的東西。 –
什麼ü做了.......... –
view.myPager.setOnClickListener(新OnClickListener(){ \t \t \t \t @覆蓋 \t \t \t \t公共無效的onClick(視圖v){ \t \t \t \t \t Log.e( 「VIEW PAGER」, 「VIEW PAGER」); \t \t \t \t \t Toast.makeText(活性, 「ZOOM」,Toast.LENGTH_SHORT).show(); \t \t \t \t} \t \t \t}); –