2012-09-29 4 views
1

보기에 고유 ID가 있어야한다는 요구 사항은 없습니다. 보기를 펼친 다음 해당보기를 다른보기에 추가 할 수 있습니다. 예.보기에 대한 참조가 안드로이드의 다른보기 안에 있는지 확인하는 방법은 무엇입니까?

myFooterReference = inflate (my_footer) 
    myListView.addFooterView(myFooterReference) 

항상 전화를 걸 수 있습니까?

myListView.removeFooterView(myFooterReference) 

우리는 지금 첫째

myListView.findViewById(R.id.my_footer_id) // because no such footer exists 

을 확인 할 수있는 옵션이 없습니다 그래서 무슨 일이 녀석 최대? 뷰가 없더라도 참조로 뷰를 제거하려고하면 항상 유효합니까? 다른 사람이 이런 일을하는 데 오류가 있습니까?

안드로이드 SDK는 방법이없는 이유에 대한 어떤 이론 :

myListView.hasView(listViewReference); 

또는 적어도

myListView.hasFooterView(listViewReference) ? 

그것은 항목의 수를 가지고 있지만 주어진 바닥 글 경우 왜하는 방법은 말할를 거기 있니? 그것은 부모가하고 부모 귀하의 목록보기 또는 전혀 없습니다 경우

view.getParent(); 

그리고 확인 :

답변

1

당신은 당신의 뷰의 부모를받을 수 있나요?

그러나 이러한 검사가 마음에 들지 않는다면 일반적으로 가장 좋은 해결책은 필요에 따라 원하는 레이아웃을 수행하는 레이아웃 관리자를 구현하는 것뿐 아니라 해당 레이아웃이 가지고있는 흥미로운보기를 추적 할 수도 있습니다.
이 페이지를 참조하십시오 : Check if a View contains another View.

+0

나는 (view.getParent == containingView) 다음에 목록이 포함되어 있다면 제안하고있다. –

+0

목록보기 안의 바닥 글보기에서 이것이 안정적으로 작동 할 것이라고 생각하십니까? –

+0

@CodeDroid? getParent 또는 레이아웃 관리자? – hasanghaforian

관련 문제