Question

  1. J'ai la classe suivante dans mon activité de fragment. Maintenant, je veux obtenir le nom des onglets de strings.xml mais je ne peux pas utiliser la méthode. getString(int resId) il donne un message d'erreur "Impossible de faire une référence statique à la méthode non statique getString(int) à partir du type Context".
  2. En méthode public CharSequence getPageTitle(int position) J'ai besoin d'être comme ça name = getString(R.string.mystring) toute aide est appréciée.
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;
          }
      }
Était-ce utile?

La solution

Tu as besoin d'un Context objet d'appeler getResources().getString(int resID).Essayez de passer un Context dans votre constructeur et l'utiliser ici comme

Context mContext;

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

puis utilisez mContext.getResources().getString(int resID)

Autres conseils

Vous pouvez simplement supprimer le static mot-clé de la définition de votre classe s'il s'agit d'une classe interne.

MODIFIER:Ne faites pas cela - voir le commentaire ci-dessous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top