2013-01-01 35 views

回答

4

從片段使用:

getActivity().getString(...) 

從適配器使用:

getContext().getResources().getString(...) 

是的,你需要一個上下文訪問資源。

+3

請注意,在調用onActivityCreated()之前'getActivity()'將爲空。 – dmon

+0

謝謝,但不幸的是我在FragmentPagerAdapter中,而不是片段! –

+0

如此使用getContext(),並且如果您無權訪問上下文,請傳遞它。 – Snicolas

2

我有一個類似的問題。從抽屜佈局來看,我想確定在從輔助類中調用的方法中使用哪個片段。

在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前加上上下文()。否則,我的堆棧顯示該片段未附加到活動。

希望這可以幫助別人。

相關問題