好的,我有一个自定义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,但没有...
有什么想法吗?
答案 0 :(得分:0)
好的... 看来我开始设置View.GONE,然后我尝试设置View.VISIBLE,它不会显示按钮... 我只能使用View.INVISIBLE和View.VISIBLE:/