自定义适配器视图未正确更新

时间:2012-07-24 09:00:19

标签: android android-4.0-ice-cream-sandwich android-adapterview

好的,我有一个自定义AdapterView。每当我检测到长按时,我都会调用一种方法来更改自定义可编辑状态。

public void setEditing(boolean editing) {
    this.editing = editing;
    //Set editing to children
    for (int i=0; i < getChildCount(); i++){
        ((PresentationPickerGalleryCellView)getChildAt(i)).setEditing(editing);
        if (editing == true)
            getChildAt(i).setVisibility(View.INVISIBLE);
            //((PresentationPickerGalleryCellView)getChildAt(i)).deleteImageButton.setVisibility(View.VISIBLE);
    }
}

就我而言,它在主线程中执行。 现在,如果我打电话:

getChildAt(i).setVisibility(View.INVISIBLE);

当编辑== true时,它会隐藏整个视图正确。但如果我打电话:

((PresentationPickerGalleryCellView)getChildAt(i)).deleteImageButton.setVisibility(View.VISIBLE);

deleteImageButton是单元格内的一个按钮。 根本不会显示deleteImageButton 。我尝试了invalidate,postInvalidate,layout,requestLayout,refreshDrawableState,但没有...

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的... 看来我开始设置View.GONE,然后我尝试设置View.VISIBLE,它不会显示按钮... 我只能使用View.INVISIBLE和View.VISIBLE:/