3

목록에서 이미지가 채워진 격자보기가 있습니다. 내가 목록에서 이미지를 제거 할 때 그리드 뷰를 새로 고치고 싶습니다. 누군가이 방법을 알려줍니다.이미지의 격자보기가 새로 고침되지 않습니다.

gridview를 무효화 (시도)하고 데이터 어댑터가 변경되었음을 이미지 어댑터에 알리려고했습니다 (adapter.notifyDataSetChanged();). 그러나 이것은 원하는 결과를 제공하지 못합니다.

이 작업을 수행 한 후에 이전에 사용되던 이미지가 제거 된 곳에서 공백이 나타납니다.

답변

0

ListAdapter를 사용하여보기를 채우고 있습니까? 어쩌면 목록이 변경 될 때 새 어댑터를 다시 작성해야합니다.

+0

기본 어댑터를 확장하는 사용자 정의 어댑터를 사용하고 있습니다. – chethan

+0

예, 새 어댑터를 사용하여 다시 작성하는 것이 유일한 해결책입니다. 다른 방법이 있는지 알고 싶습니다. – chethan

+0

이것은 의문의 여지가 있습니다. 매번 새로운 어댑터를 생성하지 마십시오! Denis가 말한대로 invalidateViews()를 사용합니다. – RumburaK

9

.invalidate() 대신 gridView.invalidateViews()를 사용해보십시오. 그것은 gridView 내부의 모든보기 (귀하의 경우 ImageViews)를 다시 그립니다.

+0

gridview에서 하나의 격자를 다시 그릴 필요가있는 getChildAt, 행운을 시도했습니다 – Mikey

+0

당신은 gridview에서 오른쪽으로 하나의보기 (하나의 격자가 아닌)를 다시 그려야한다는 뜻입니까? –

+0

잘 하나의 표 자체, 어떻게 든 그랬어. 감사합니다. – Mikey