Frage

  1. Ich habe die folgende Klasse in meiner Fragmentaktivität, jetzt möchte ich den Namen von Registerkarten aus Zeichenfolgen erhalten.xml, aber ich kann die Methode nicht verwenden getString(int resId) es wird die Fehlermeldung "Es kann kein statischer Verweis auf die nicht statische Methode getString (int) aus dem Typkontext erstellt werden" angezeigt.
  2. In der Methode public CharSequence getPageTitle(int position) Ich muss so werden name = getString(R.string.mystring) jede Hilfe wird geschätzt.
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;
          }
      }
War es hilfreich?

Lösung

Du brauchst eine Context objekt zum Anrufen getResources().getString(int resID).Versuchen Sie, eine zu übergeben Context in deinem Konstruktor und benutze es hier wie

Context mContext;

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

und dann benutze mContext.getResources().getString(int resID)

Andere Tipps

Sie können einfach das entfernen static schlüsselwort aus Ihrer Klassendefinition, wenn es sich um eine innere Klasse handelt.

BEARBEITEN:Tu das nicht - siehe Kommentar unten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top