2013-12-19 3 views
1

Возможно ли получить объект фрагмента из объекта контекста? Я в основном пытаюсь получить доступ к объекту фрагмента из класса SearchView, который я расширил. Поскольку контекст является единственным объектом, переданным конструктору SearchView, я надеялся каким-то образом получить ссылку на фрагмент из него.Как получить объект фрагмента из контекста

Я знаю, что мы можем получить его изнутри с помощью getSupportFragmentManager().findFragmentById(R.id.xxx). Но getSupportFragmentManager() доступен только в классе FragmentActivity. Есть ли доступ к фрагменту из другого класса?

+0

Как вы добавили фрагмент в FragmentManager, если у вас нет ссылки на FragmentActivity? – Kuffs

+1

Ссылка 'Context' - это' Activity' (так что вы можете использовать ее и использовать), если вы не использовали что-то вроде 'getApplicationContext()' при создании представления. – Luksprog

+0

В моей «FragmentActivity» я вызываю 'setContentView (R.layout.fragmentlayout)'. 'fragmentLayout' имеет элемент' ', так вот как начинается фрагмент. Теперь я хочу, чтобы экземпляр запущенного фрагмента в классе получал контекст через его конструктор. – faizal

ответ

5

Если вы не шутите с нормальным образом View построен тогда Context ссылки, которые вы получаете в конструкторе View является ActivityContext), где View используются. Таким образом, у вас есть возможность лить Context на ссылку Activity, и оттуда вы можете использовать один из способов доступа к нужной Fragment.

Смежные вопросы