안드로이드 개발 질문/답변
(글 수 45,052)
custom view를 하나 만들고
그것을 Activity에서 setContentView로 등록할때 ID대신 클래스를 하나 만들어서 등록했는데
프로그램이 뻗어 버립니다ㅠ
private View screenView = findViewById(R.layout.screen_view); 해서 view를 만들고
setContentView(screenView); 이렇게 등록했는데 안되네요ㅠ
코드에서 view에 시킬 일들이 있어서
클래스로 만들어서 해야될거 같아서 했습니다~;
setContentView에서 할때 그냥 id로 하면 잘 됩니다.~
요약하면,
custom view를 만들고, view를 외부에서 컨트롤 할려고 클래스로 만들어서 Activity에 등록했는데 뻗는 문제가...
다른 방법이 있나요~?
그것을 Activity에서 setContentView로 등록할때 ID대신 클래스를 하나 만들어서 등록했는데
프로그램이 뻗어 버립니다ㅠ
private View screenView = findViewById(R.layout.screen_view); 해서 view를 만들고
setContentView(screenView); 이렇게 등록했는데 안되네요ㅠ
코드에서 view에 시킬 일들이 있어서
클래스로 만들어서 해야될거 같아서 했습니다~;
setContentView에서 할때 그냥 id로 하면 잘 됩니다.~
요약하면,
custom view를 만들고, view를 외부에서 컨트롤 할려고 클래스로 만들어서 Activity에 등록했는데 뻗는 문제가...
다른 방법이 있나요~?
2009.08.06 17:46:06
윗분께서 말씀하신대로 R클래스를 그대로 setContentView에서 참조 하시는 것이 나을 듯 싶습니다.
xml을 안쓰시고 View 관련 클래스를 만들어 쓰시려면 윗분께서 댓글 달아주신 대로 하는게 맞을듯 하구요..^^;
xml을 안쓰시고 View 관련 클래스를 만들어 쓰시려면 윗분께서 댓글 달아주신 대로 하는게 맞을듯 하구요..^^;
2009.08.06 17:46:15
레디필님 말씀하신대로 CustomView를 만들어서 사용하는 것 자체는 문제가 없습니다.
질문 글중에 위 내용에 문제가 있습니다. findViewById라는 함수는 뷰를 생성하지 않습니다.
만들어진 View를 찾아오는 역할을 하는 함수입니다. screenView는 null 값이 들어가있겠지요.
private View screenView = findViewById(R.layout.screen_view); 해서 view를 만들고
질문 글중에 위 내용에 문제가 있습니다. findViewById라는 함수는 뷰를 생성하지 않습니다.
만들어진 View를 찾아오는 역할을 하는 함수입니다. screenView는 null 값이 들어가있겠지요.
View view = new View(this);
setContextView(view);
이렇게 쓰는데 R 클래스 참조하시는건 그냥 쓰는거랑 차이 없어 보입니다..