0
RelativeLayout에서 확장 한 사용자 정의보기가 있습니다.Android에서 싱글 톤으로 사용자 정의보기
이 사용자 지정보기를 싱글 톤으로 만들려고했습니다.
는이 코드가 있습니다
private static CameraView sCameraView;
public static synchronized CameraView getInstance(Context context) {
if (sCameraView == null) {
sCameraView = new CameraView(context);
}
return sCameraView;
}
을하고 조각에서 이것을 사용하려고 :
private CameraView mCameraView = CameraView.getInstance(getActivity().getApplicationContext());
mCameraView = (CameraView) mView.findViewById(R.id.camera_preview);
가이 코드에서 NullPointException을 얻고있다. 그럼 내가 조금 주위를 돌리면 InflateException이 생깁니다.
사용자 지정보기에서 정적 인스턴스에 액세스하여 변수에 할당하려면 어떻게해야합니까? 그 이유는 다음과 같습니다.
CameraView.getInstance(getActivity().getApplicationContext()) = (CameraView) mView.findViewById(R.id.camera_preview);
은 허용되지 않습니다.
도움이 될 것입니다.
"이 사용자 지정보기를 싱글 톤으로 만들려고했습니다."- 메모리가 누출되어 (독점적 인 위험 만들기) 다른보기에서는 작동하지 않습니다 (싱글 톤을 쓸모 없게 만듭니다). 나는 다른 계획을 생각 해낼 것을 강력하게 제안한다. 그 외에도 LogCat을 사용하여 충돌과 관련된 Java 스택 추적을 검사하십시오. https://stackoverflow.com/questions/23353173/unfortunately-myapp-has-stopped-how-can-i-solve-this 스택 추적, 질문 편집 및 게시. – CommonsWare
좋아요, 답변 주셔서 감사합니다 # CommonSWare. 그 싱글 톤은 좋은 선택이 아니라는 것을 알았지 만, 나는 안드로이드에서 싱글 톤 뷰를 갖는 것에 대해 실험하고있었습니다. – JWL