9

在扩展类android.support.v4.app.FragmentPagerAdapter中,有没有办法Context.getString(..)在扩展类不作为活动的内部类或从外部传递某些上下文的情况下访问该方法?

感谢您的任何提示!

4

3 回答 3

9

从片段使用:

 getActivity().getString(...)

从适配器使用:

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

是的,您需要一个上下文来访问资源。

于 2013-01-01T17:38:24.100 回答
6

从活动中,使用:

this.getString(R.string.string_name);

从片段中,使用:

getActivity.getString(R.string.string_name);

从适配器,使用:

getContext().getResources().getString(R.string.string_name);
于 2018-10-23T07:48:23.327 回答
3

我有一个类似的问题。从抽屉布局中,我想决定在从辅助类调用的方法中使用哪个片段。

所以在 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() 前面添加上下文。否则,我的堆栈显示该片段未附加到活动。

希望这可以帮助某人。

于 2014-09-10T01:49:28.403 回答