各位好
小弟最近在写一个Gallery的例子,想实现的功能是在横屏上放置一个gallery,处于最中间的一幅图设置一个比较大的背景,左右两边的图都设置比较小的背景,整个gallery一直保持这样的格局。
gallery是顺便地实现了,但在动态地设置背景时,出现了问题,在我的OnItemSelectedListener中,为左右两边的图设置背景时,有时根据index竟然找不到....汗一个,请教各位大虾这是为什么呢?
OnItemSelectedListener的代码如下:
- Java code
gallery.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Log.v("", "------------------------------------------------------"); Log.v("", "----- pic : " + arg2 + " is selected. Child count: " + arg0.getChildCount()); arg1.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_wallpaper_center)); View preView = arg0.getChildAt(arg2-1); if(preView!=null){ preView.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_wallpaper_left)); Log.v("", "----- left pic : " + (arg2 - 1) + " 背景替换ok"); } View nextView = arg0.getChildAt(arg2+1); if(nextView!=null){ nextView.setBackgroundDrawable(getResources().getDrawable(R.drawable.ic_wallpaper_right)); Log.v("", "----- right pic : " + (arg2 + 1) + " 背景替换ok"); } } @Override public void onNothingSelected(AdapterView<?> arg0) { } });
请各位不吝赐教,先谢谢了。
------解决方案--------------------
能否贴出全代码,你是怎么"放置一个gallery,处于最中间的一幅图设置一个比较大的背景,左右两边的图都设置比较小的背景"...