我在滚动网格视图时面临问题。在我的网格视图中,共有150个子元素,屏幕上共有55个孩子正在显示。现在当用户点击任何网格时,我需要将网格颜色更改为红色,再次点击任何其他网格,然后选择之前选中的网格颜色更改为白色并且新单击的网格颜色更改为红色。因此用户可以知道当前选择了哪个网格。当用户点击小于55的网格时,它的工作非常完美。但是当用户向下滚动网格视图并点击任何大于55的网格时,由于这两种红色,我没有得到最后选择的网格网格正在显示。
示例: - 第一次如果用户单击23数字网格,则选择23数字网格但是当用户向下滚动并选择63数字网格时,我没有得到23数字网格参考。标志也保持用于获得最后选择的网格。
View currentchildAt = pizza_grid.getChildAt(currentGridNumber);
currentchildAt.setBackgroundColor(Color.RED);
View childAt = pizza_grid.getChildAt(earlierGridNumber);
if(childAt != null)
childAt.setBackgroundColor(Color.WHITE);
在选择了63号网格后,我的childAt
属性为null,如果我选中了getChildCount()
,那么我将获得55个计数。
任何人都可以告诉我如何解决这个问题。
我在网格视图中使用适配器显示网格。
提前致谢。