static final CharSequence to R.string.xxx как это сделать правильно? - PullRequest
0 голосов
/ 08 апреля 2019

Я хочу изменить НАЗВАНИЕ в жестком коде на ресурс из strings.xml

Как это сделать правильно?

    public static final CharSequence TITLE = "Home";
    @Override
    public CharSequence getPageTitle(int position) {
        switch (position) {
            case 0:
                return HomeFragment.TITLE;

            case 1:
                return HistoryFragment.TITLE;

            case 2:
                return StatisticsFragment.TITLE;
        }
        return super.getPageTitle(position);
    }
}
    public static final CharSequence TITLE = R.string.title_home;

1 Ответ

0 голосов
/ 08 апреля 2019

Вам не нужно объявлять переменную PUBLIC STATIC FINAL String, потому что строки, хранящиеся в файле ресурсов, не подлежат изменению и могут быть доступны из любого места во время выполнения.

Используйте следующий код

@Override
    public CharSequence getPageTitle(int position) {
        switch (position) {
            case 0:
                return context.getResources().getString(R.string.title_home);

            case 1:
                return context.getResources().getString(R.string.title_history);

            case 2:
                return context.getResources().getString(R.string.title_statistics);;
        }
        return super.getPageTitle(position);
    }
...