리소스 템플릿에서 생성하고자하는 사용자 정의 뷰가 있습니다. 내 사용자 지정보기 생성자는 사용자 지정보기에 대한 추가 정보로 설정된 추가 매개 변수를 허용합니다.안드로이드는 기존 뷰 객체를 사용하여 뷰를 펼칩니다.
문제는 inflate 메서드가 정적이고 내 사용자 지정보기 대신 인스턴스가 아닌 새 뷰를 반환하기 때문에 뷰를 부 풀릴 때 사용자 정의 뷰에서 서브 클래 싱되지 않은 뷰 객체를 가져 오는 것입니다.
내가 찾고있는 방법은 내 사용자 지정보기 개체 참조를 전달하여보기를 부 풀릴 수 있습니다.
public class MLBalloonOverlayView extends View { MiscInfo mMiscInfo; public MLBalloonOverlayView(Context context, MiscInfo miscInfo) { super(context); mMiscInfo = miscInfo; } public View create(final int resource, final OverlayItem item, MapView mapView, final int markerID) { ViewGroup viewGroup = null; View balloon = View.inflate(getContext(), resource, viewGroup); // I want to return this object so later I can use its mMiscInfo //return this; return balloon; } }
불행하게도,이에 새로 팽창보기를 부착 '이'나는보기와 뷰 그룹은 (나는대로지도에보기를 추가하고하지를 필요 뷰 그룹으로보다는보기로 내 의도 된 목적을 위해 사용자 정의 풍선 뷰). – faridz
보기가 구성된 레이아웃 인 경우보기뿐만 아니라 레이아웃을 확장하는 항목으로 작업해야합니다. –