Ho avuto un problema simile. Dal layout di un cassetto, volevo decidere quale frammento utilizzare in un metodo chiamato da una classe helper.
Quindi, in onCreateView ...
String form = getResources().getStringArray(R.array.drawer_array)[i];
Context context = getActivity().getApplicationContext();
FragmentHelper fh = new FragmentHelper();
int myFragment = fh.getCurrentFragment(form,context);
E in FragmentHelper pubblico() ...
public int getCurrentFragment(String form, Context context){
...
context.getResources().getString(R.string.label_item1);
...
}
Il trucco è quello di aggiungere contesto di fronte getResources(). Altrimenti, il mio stack ha mostrato che il frammento non era associato a un'attività.
Spero che questo aiuti qualcuno.
Si noti che 'getActivity()' sarà null finché non viene richiamato 'onActivityCreated()'. – dmon
grazie, ma sfortunatamente sono in un FragmentPagerAdapter, non in un frammento! –
usa getContext() così, e se non hai accesso a un contesto, passalo. – Snicolas