2013-08-26 4 views
2

현재 나는 조각의 세계로 다이빙되었습니다 http://developer.android.com/guide/components/fragments.html#CommunicatingWithActivity안드로이드 -이 호스트하는 것을 조각화 활동에서 의사 소통

은 본인은 조각이 호스트하는 활동에 구현 한 후 조각에 리스너를 만들고로 프래그먼트에서 액티비티로 전달할 수있는 좋은 방법이지만 액티비티에서 프래그먼트로 어떻게 통신 할 수 있습니까? 또 다른 청취자? 아마 나는 청취자가 무엇을하고 있는지 완전히 이해하지 못한다. 활동에서 단편으로 의사 소통하는 방법을 설명하는이 주제에 대한 도움은 매우 감사하겠습니다!

P. 나는 현재 내가 만든 조각 (B)으로 변환하고있다. 나는 Activity B를 시작하기 전에 Activity A에서 일부 intent.putExtra ("value")를 사용하여 이것을 대체하려고합니다 ... 아마도 당신을 전혀 도울 수는 없겠지만 아마도 시도하고 넣을 것이라고 생각했습니다. 내가하는 일을 관점으로

답변

1

나는 해결책을 찾았을 것이다. 나는 이것이 작동하는지 확인하고 나중에 확인하기 위해 몇 가지 점검을 할 것입니다.

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

     Bundle b = getActivity().getIntent().getExtras(); 
     wid = b.getString("wid"); 
     rid = b.getString("rid"); 
     View view = inflater.inflate(R.layout.categoryfragment, container, false); 
return view; 
} 
1

당신이 활동을 만들 때, 당신이 FragmentBundle를 전달할 수 있습니다 할 것처럼.

Fragment class reference에서이를 수행하는 방법에 대한 예제가 있습니다.

/** 
* Create a new instance of DetailsFragment, initialized to 
* show the text at 'index'. 
*/ 
public static DetailsFragment newInstance(int index) { 
    DetailsFragment f = new DetailsFragment(); 

    // Supply index input as an argument. 
    Bundle args = new Bundle(); 
    args.putInt("index", index); 
    f.setArguments(args); 

    return f; 
} 

사용 getArguments()

Bundle 다시 얻을 수 있습니다.

관련 문제