在擴展android.support.v4.app.FragmentPagerAdapter的類中,是否有任何方法可以訪問Context.getString(..)方法,而不需要擴展類作爲活動的內部類或從某個上下文傳入外?訪問android.support.v4.app.FragmentPagerAdapter中的getString()?
感謝您的任何提示!
在擴展android.support.v4.app.FragmentPagerAdapter的類中,是否有任何方法可以訪問Context.getString(..)方法,而不需要擴展類作爲活動的內部類或從某個上下文傳入外?訪問android.support.v4.app.FragmentPagerAdapter中的getString()?
感謝您的任何提示!
從片段使用:
getActivity().getString(...)
從適配器使用:
getContext().getResources().getString(...)
是的,你需要一個上下文訪問資源。
我有一個類似的問題。從抽屜佈局來看,我想確定在從輔助類中調用的方法中使用哪個片段。
在onCreateView所以......
String form = getResources().getStringArray(R.array.drawer_array)[i];
Context context = getActivity().getApplicationContext();
FragmentHelper fh = new FragmentHelper();
int myFragment = fh.getCurrentFragment(form,context);
,並在公共FragmentHelper()...
public int getCurrentFragment(String form, Context context){
...
context.getResources().getString(R.string.label_item1);
...
}
的竅門是在getResources前加上上下文()。否則,我的堆棧顯示該片段未附加到活動。
希望這可以幫助別人。
請注意,在調用onActivityCreated()之前'getActivity()'將爲空。 – dmon
謝謝,但不幸的是我在FragmentPagerAdapter中,而不是片段! –
如此使用getContext(),並且如果您無權訪問上下文,請傳遞它。 – Snicolas