我的问题有点具体,我从堆栈溢出尝试了很多类似的想法,但它不起作用。
我有一个由定制适配器填充的gridview。然后我想改变一行的背景颜色(但在用户点击它之前,所以我不能在clicklistener中这样做,这将起作用) - 所以再次:标记一行,用户点击一个位置行,标记下一行,用户单击此行中的一行,等等。
但是:
View v = grid.getChildAt(i);
ImageView img = (ImageView) v.findViewById(R.id.item);
img.setImageResource(R.color.red);
(我是for循环的计数变量)不起作用,因为img为null(空指针错误),因为就我所理解的那样,视图在那一刻不会膨胀。
我尝试将此代码放在我的适配器的getView方法中,但我仍然得到空指针(例如getChildAt(0)工作,但getChildAt(1)给出空指针,但我想要整行,所以.. )
我能做些什么才能实现上述功能?我应该不使用GridView但GridLayout?还是TabletLayout?列表显示? 或者有没有办法访问我错过/不理解的gridview?
非常感谢帮助!! :)