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

프래그먼트끼리의 체크박스 전달해서 이미지 컨트롤 하려는데,,

0 추천
메인프래그먼트입니다.
public class MainFragment extends Fragment {
    
    ImageView Image1;
    ImageView Image2;




    View rootView;


    private OnFragmentInteractionListener mListener;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        rootView = inflater.inflate(R.layout.fragment_main, container, false);
        pref = getActivity().getSharedPreferences(getResources().getString(R.string.app_name), MODE_PRIVATE);



        Image1 = (ImageView)rootView.findViewById(R.id.image1);
        Image2 = (ImageView)rootView.findViewById(R.id.image2);
   

        // Inflate the layout for this fragment
        return rootView;
    }

 

 

 

제어할 명령어 프래그먼트
public class SetFragment extends Fragment  {

    View rootView;


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        rootView =  (LinearLayout)inflater.inflate(R.layout.fragment_set, container, false);
   

    CheckBox white = (CheckBox) rootView.findViewById(R.id.whitebox);
    CheckBox redbox = (CheckBox)rootView.findViewById(R.id.redbox);

        

        return rootView;
    }
}

 

명령프래그먼트에서 체크박스를 통해 이미지를 제어하려고하는데,

값이 안전달되네요.. 어떻게 전달해야 이미지를 보여졌다 안보여졌다 할수있나요?

익명사용자 님이 2017년 6월 15일 질문
fragment간 통신으로 구글 검색해보세요
수많은 예제를 볼 수 있으니 링크는 생략할께요

2개의 답변

+1 추천
일단 답변채택을 하고

질문을 새로 올리는게 좋아보이네요

 

방법을 제시해주셨으니 이 질문에 대한 답변은 된 것이고

그 방법대로 했을때 또 어디가 막혔다. 이럴때는 어떻게 해야되는건지

막힌부분에 대한 소스코드를 올려주시는게 좋이네요.

 

프레그먼트간 통신에 대해 먼저 공부해보시면

프레그먼트끼리는 다이렉트로 통신이 안되고,

(Main)Activity를 통해서 통신을 해야된다는 부분도 공부해보시는게 좋을거 같네요

 

모르는 부분을 새로 공부할때는 만들고 있는 프로젝트에 바로 적용하는것보다는

새 프로젝트를 생성(인터넷에 있는 수많은 예제들)해서 그 부분에 대해 이해를 하고 본인 프로젝트에 적용하는게 더 효과적입니다
익명사용자 님이 2017년 6월 16일 답변
0 추천
이런경우는 일반적으로 Activity에서 Listener 형태의 객체를 만들고, Main에서는 Listener 객체에 이미지뷰를 등록하고, Set 에서는 Listener의 메서드를 호출하는 형태로 구현하시면 됩니다.
mcsong (44,040 포인트) 님이 2017년 6월 15일 답변
아 그럼 혹시 체크박스 프래그먼트 xml에 입력한 아이디를 액티비티에서 리스너 객체를 만들어서, 거기서 작동하면되는가요??
젤 쉬운 방법으로는... SetFragment에서 check 박스를 클릭하면.. 이벤트 리스너에서..
getActivity().findViewById(R.id.image1);
로 ImageView를 가져올 수 있고, 여기에서 변경하셔도 됩니다.
메인프래그먼트도 프래그먼트의 이미지라서 그런지 ㅠ 계속 에러가 나네요...
...