Java 如何重新注册GridView项

Java 如何重新注册GridView项,java,android,android-studio,Java,Android,Android Studio,所以我有一个类似caledar的GridView,它代表了31天的挑战。完成当天的挑战后,相应GridView项目的背景色设置为绿色,工作正常,但我找不到删除背景色的方法,比如在挑战重置时 private void showDone(boolean reset) { gridView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

所以我有一个类似caledar的GridView,它代表了31天的挑战。完成当天的挑战后,相应GridView项目的背景色设置为绿色,工作正常,但我找不到删除背景色的方法,比如在挑战重置时

private void showDone(boolean reset) {
    gridView.getViewTreeObserver().addOnGlobalLayoutListener(new 
    ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            if(!reset)
                gridView.getChildAt(0).setBackgroundColor(Color.GREEN);
            else
                gridView.getChildAt(0).setBackgroundColor(Color.RED);
        }
    });
}

gridview中的特定项可以通过如下代码着色:

gridView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
           gridView.getChildAt(POSITION).setBackgroundColor(Color.XXX);
        }
    });
    adapter.notifyDataSetChanged();