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中の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(の前にコンテキストを追加することです)。さもなければ、私のスタックはその断片が活動に結びついていないことを示しました。
これは誰かを助けることを望みます。
'getActivity()'は 'onActivityCreated()'が呼び出されるまではnullになることに注意してください。 – dmon
ありがとうございますが、残念ながら私はFragmentPagerAdapterにあります、フラグメントではありません! –
getContext()を使用し、コンテキストにアクセスできない場合はそれを渡します。 – Snicolas