마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

View.Group 객체에 다른 View.Group 을 바로 넣을수 없는건가요 ?

0 추천
동적(코드)로 작성한. 각각 6개의 같은 타입의 Layout을 담은 ArrayList_1,ArrayList_2가 있습니다. 이ArrayList 중에 ArrayList_1을 MainView(MainLayout)에 AddView 시켜서 배치시켰구요.  

제스처를 이용해서 상하로 스크롤 할경우 MainView의 첫번째 자식뷰 부터 ArrayList_2에 있는 Layout로 바뀌어야하는데요.  RemoveView 나 AllRemove뷰 를 사용하지 않고 MainView의 n번째 자식에  ArrayList_2의 n의 Layout를 대입시키는 방식으로 구현하고 싶은데 뜻대로 되지 않네요.

MainView.getChild(0)=ArrayList_2.get(0); 이런식으로 대입하면 변할줄 알았는데 아무 반응이 없습니다.

MainLayout은 AddView하는것은 있던데. ArrayList처럼 set 같은 방식의 수정이없나요?

ArrayList를 set시킨뒤에 MainView에 다시 뿌려주는 방식도 생각해봤지만... 이렇게되버리면 이것저것 코드가 꼬여 버려서 후자 보단 전자의 방식이 있는지 알고 싶습니다.

MainView.getChild(0)=ArrayList_2.get(0); 이런식의 대입이 왜안되는 지도 알고싶습니다.  부탁드리겠습니다.
익명사용자 님이 2015년 4월 21일 질문

2개의 답변

0 추천
java 문법 공부부터 하세요.
익명사용자 님이 2015년 4월 21일 답변
0 추천

결론부터 말하자면 ViewGroup에는 set 같은 방식의 API가 존재 하지 않으므로 불가합니다.

 

근데 MainLayout이 뭔가요? 질문을 조금 명확하게 하셨으면 좋겠습니다.

(위 내용만으로는 MainLayout은 ViewGroup을 상속한 질문자님이 작성한 클래스인것 같다는 짐작밖에 할 수가 없습니다.)

 

"MainView.getChild(0)=ArrayList_2.get(0); 이런식으로 대입하면 변할줄 알았는데 아무 반응이 없습니다."

라고 하셨는데.. 너무 당연한 결과인듯 합니다 ArrayList도 그런식으로는 동작 않됩니다.

Gradler (109,780 포인트) 님이 2015년 4월 21일 답변
...