わかりました、カスタム 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);
edit==true の場合、ビュー全体が正しく非表示になります。しかし、私が電話した場合:
((PresentationPickerGalleryCellView)getChildAt(i)).deleteImageButton.setVisibility(View.VISIBLE);
deleteImageButton は、セル内のボタンです。deleteImageButton はまったく表示されません。無効化、postInvalidate、レイアウト、requestLayout、refreshDrawableState を試しましたが、何も...
何か案は?