7

wewnątrz stopień aktywności, to mają tę klasę (z próbek android):getResources z FragmentStatePagerAdapter

public static class DemoCollectionPagerAdapter extends FragmentStatePagerAdapter { 

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

    @Override 
    public Fragment getItem(int i) { 
     Fragment fragment = new QuestionFragment(); 
     Bundle args = new Bundle(); 
     args.putInt(QuestionFragment.ARG_OBJECT, i); 
     fragment.setArguments(args); 
     return fragment; 
    } 

    @Override 
    public int getCount() { 
     return questionList.length; 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     return "Title n°" + (position + 1); 
    } 

} 

ja to zmienić: zwrot "Tytuł n °" + (pozycja + 1); do: return getActivity(). GetResources(). GetString (R.string.questionTabTitle) + (pozycja + 1);

Ale czynność jest niezdefiniowana. Jak mogę uzyskać potrzebny zasób ciągów?

Odpowiedz

17

Można zmodyfikować konstruktor tej klasy i przekazać kontekst swojej działalności macierzystego jako parametr:

private Context _context; 

//Constructor of the class 
public DemoCollectionPagerAdapter(FragmentManager fm, Context c) { 
    super(fm); 
    _context = c; 
} 

Następnie w funkcji getPageTitle można uzyskać dostęp do zasobów przy użyciu nowego kontekstu zdefiniowanego w klasie:

_context.getResources().getString(R.string.questionTabTitle) + (position + 1); 
+0

Byłem trudniejszy ...: D dzięki! – Accollativo

Powiązane problemy