2013-01-01 7 views

答えて

4

getActivity().getString(...) 

アダプタの使用から:

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

はい、あなたはリソースにアクセスするためのコンテキストを必要としています。

+3

'getActivity()'は 'onActivityCreated()'が呼び出されるまではnullになることに注意してください。 – dmon

+0

ありがとうございますが、残念ながら私はFragmentPagerAdapterにあります、フラグメントではありません! –

+0

getContext()を使用し、コンテキストにアクセスできない場合はそれを渡します。 – Snicolas

2

私も同様の問題がありました。引き出しのレイアウトから、ヘルパークラスから呼び出されたメソッドでどのフラグメントを使うかを決めたかったのです。 onCreateView中のSO

...

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(の前にコンテキストを追加することです)。さもなければ、私のスタックはその断片が活動に結びついていないことを示しました。

これは誰かを助けることを望みます。

関連する問題