can't use method “getString(int resId)” in FragmentPagerAdapter

99封情书 提交于 2020-08-22 19:15:56

问题


  1. I've the following class in my fragment activity now i want to get name of tabs from strings.xml but i can't able to use method getString(int resId) it gives a error message "Cannot make a static reference to the non-static method getString(int) from the type Context".
  2. In method public CharSequence getPageTitle(int position) I need to get like this name = getString(R.string.mystring) any help is appreciated.
public static class AppSectionsPagerAdapter extends FragmentPagerAdapter {

          public AppSectionsPagerAdapter(FragmentManager fm) {
              super(fm);
          }

          @Override
          public Fragment getItem(int i) {
              switch (i) {
              case 0:
                  Fragment fragment = new Activity1();
                  return fragment;

              case 1:
                  Fragment fragment1 = new Activity2();
                  return fragment1;

              default:
                  return new Activity2();
              }
          }

          @Override
          public int getCount() {
              return 2;
          }

          public CharSequence getPageTitle(int position) {
              String name = null;
              if (position==0) {
                  name = "Movie Details";
              }else if (position==1) {
                  name = "Movie Comments";
              }
              return name;
          }
      }

回答1:


You need a Context object to call getResources().getString(int resID). Try passing a Context in your constructor and using it here like

Context mContext;

public AppSectionsPagerAdapter(FragmentManager fm,Context context) {
          super(fm);
           mContext = context
      }

and then use mContext.getResources().getString(int resID)




回答2:


You can just remove the static keyword from your class definition if it's an inner class.

EDIT: Don't do this--see comment below.



来源:https://stackoverflow.com/questions/20006736/cant-use-method-getstringint-resid-in-fragmentpageradapter

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!