Domanda

    .
  1. Ho la seguente classe nell'attività del mio frammento ora voglio ottenere il nome delle schede da stringhe.xml ma non riesco a utilizzare il metodo getString(int resId) dà un messaggio di errore "Non è possibile effettuare un riferimento statico al non-Metodo statico GetString (INT) dal contesto del tipo ".
  2. In Metodo public CharSequence getPageTitle(int position) Ho bisogno di ottenere questo name = getString(R.string.mystring) Qualsiasi aiuto è apprezzato.
  3. .
    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;
              }
          }
    
    .
È stato utile?

Soluzione

È necessario un oggetto Context per chiamare getResources().getString(int resID).Prova a passare un Context nel tuo costruttore e usarlo qui come

Context mContext;

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

e quindi utilizzare mContext.getResources().getString(int resID)

Altri suggerimenti

Puoi semplicemente rimuovere la parola chiave static dalla definizione della tua classe se è una classe interna.

Modifica: non farlo - vedi Commento qui sotto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top