2013-12-19 2 views
1

컨텍스트 개체에서 조각 개체를 가져올 수 있습니까? 기본적으로 내가 확장 한 SearchView 클래스에서 프래그먼트 객체에 액세스하려고합니다. 컨텍스트는 SearchView 생성자에 전달 된 유일한 객체이기 때문에 어떻게 든 그 객체의 프래그먼트에 대한 참조를 가져 오려고했습니다.컨텍스트에서 조각 개체를 가져 오는 방법

getSupportFragmentManager().findFragmentById(R.id.xxx)을 사용하여 활동 내에서 얻을 수 있다는 것을 알고 있습니다. 그러나 getSupportFragmentManager()FragmentActivity 클래스에서만 사용할 수 있습니다. 다른 클래스의 프래그먼트에 액세스 할 수 있습니까? View를 사용하는 곳에 당신이 View가 내장되어 정상적인 방법으로 엉망하지 않으면

+0

FragmentActivity에 대한 참조가없는 경우 어떻게 조각을 FragmentManager에 추가 했습니까? – Kuffs

+1

'Context' 레퍼런스는 뷰를 생성 할 때'getApplicationContext()'와 같은 것을 사용하지 않는다면'Activity'입니다. 그래서 그것을 캐스트하고 사용할 수 있습니다. – Luksprog

+0

'FragmentActivity'에서'setContentView (R.layout.fragmentlayout)'를 호출합니다. 'fragmentLayout'은 ''요소를 가지고 있습니다. 그래서 조각이 어떻게 시작될까요. 내가 원하는 것은 클래스에서 실행중인 프래그먼트의 인스턴스를 생성자를 통해 컨텍스트로 가져 오는 것입니다. – faizal

답변

5

는 당신이 View의 생성자에서받은 Context 참조는 Activity (A Context)입니다. 따라서 ContextActivity 참조로 캐스팅 할 수 있으며 다양한 방법 중 하나를 사용하여 원하는 Fragment에 액세스 할 수 있습니다.

관련 문제