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

프래그먼트 객체로 프래그먼트 내에 접근하는 방법

0 추천
안녕하세요,제가 검색어 선정을 못하는 건지 이틀째 구글링에 실패해서 질문을 올립니다.
 
링크도 감사히 받겠습니다.
 
 
 
ViewPager로 여러 페이지를 만들면서,
 
액티비티에 살아있는 프래그먼트의 객체를 항상 보관해 두게 했습니다(보이는 페이지와 그 양옆)
 
그리고 보관해둔 프래그먼트 객체를 하나 꺼내왔습니다.(프래그먼트는 살아있습니다)
이 프래그먼트는 리스트 뷰 하나로 이루어져 있습니다.
 
여기서 질문은.. :
 
해당 객체를 이용해 프래그먼트(페이지) 에 있는 변수(어레이리스트,어댑터)와  리스트뷰에 접근하는 방법을 알고 싶습니다
 
 
제가 하려는 건,, 
해당 프래그먼트 어레이리스트에 특정 아이템을 ADD하고,
어댑터를 갱신해주려고 합니다(notify)
 
리스트뷰 객체까지 가려오려는 이유는.. 지금 프래그먼트를 감싸게 풀 투 리프레시 레이아웃을 적용해 두었는데
리스트뷰와 위아래 스크롤이 겹칩니다.. 그래서 메인 액티비티에서 현재 보이는 프래그먼트의 리스트 터치 리스너를
접근해야 하는 상황입니다
 
그래서 변수에 바로 접근하는게 디자인적으로 좋지 않다..! 싶더라도 
리스트뷰땀시...접근을 해야 하는 상황이지요...
 
감사합니다!
 
 
Andromer (1,360 포인트) 님이 2015년 5월 28일 질문

1개의 답변

+1 추천
 
채택된 답변

너무 길게 설명을 해서 먼가 질문의 의도가 흐려지네요

'a 라는 fragment  에서 b 라는 fragment  내 변수에 접근하고 싶다' 가 

질문이라면

fragment 를 add 할때  3번째 인자에 tag 이름을 줄 수있습니다.

저는 보통 아래와 같이 class 를 넘기고 클래스 명으로 tag 를 입력하게 하고 

add(id, frgmt, frgmt.getClass().getName());

원하는 곳에서 아래와 같이 findFragmentByTag 를 이용해서 사용 합니다.

findFragmentByTag(cls.getName());

return 되는 값은 Fragment  이니 casting 한 뒤 public method 를 호출하시면 되겠네요

aucd29 (218,390 포인트) 님이 2015년 5월 28일 답변
Andromer님이 2015년 5월 28일 채택됨
아..프래그먼트 가져오기는 다른 방법으로 이미 성공한 상태입니다

그런데 말씀하신 것 중에 캐스팅을 빼먹고 바로 퍼블릭 메소드를 부르려고 하고 있었네요. 감사합니다
...