public class MainActivity extends Activity {
GridView grid;
ImageView imgview;
int img=R.drawable.ic_launcher;
int []imageids=new int []{img,R.drawable.sxq1,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,img,R.drawable.sxq2,img,R.drawable.sxq1,img,img,img,img,img,img,img,img};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List
这个和gridview的item复用有关,这个是很常见的吧,你点position 0,那么你滑到第二页第一个也会变红,因为它复用了那个红色的。复用是为了内存,题主百度下 listview item复用吧,这是一个很经典古老的东西了。最好的做法是,用java类把每个item的红色状态记录下来,这样就不会有问题了
你通过
View child = parent.getChildAt(position);来获取点击视图,然后再调用child.setBackgroundColor(Color.RED);看效果如何。