Здравстуйте, уважаемые кодеры и программисты имеется следующий адаптер для ViewPager и Tablayout, и значения заголовков берутся из массива, но т.к. моё приложение поддерживает много языков я хочу задать элементы массива через String ресурсы, однако через адаптер обратиться к ним не получается, подскажите пожалуйста как это сделать? Зараннее спасибо!
public class TabsPagerFragmentAdapter extends FragmentPagerAdapter {
private String[] tabs;
public TabsPagerFragmentAdapter(@NonNull FragmentManager fm) {
super(fm);
tabs = new String[] {
"Старт",
"Начало работы",
"Подключение"
};
}
@NonNull
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return Fragment1.getInstance();
case 1:
return Fragment2.getInstance();
case 2:
return Fragment3.getInstance();
}
return null;
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return tabs[position];
}
@Override
public int getCount() {
return tabs.length;
}
}
Вам нужно задействовать в адаптере контекст.
Как вариант:
public class TabsPagerFragmentAdapter extends FragmentPagerAdapter {
private String[] tabs;
private Context context
public TabsPagerFragmentAdapter(@NonNull FragmentManager fm, @NonNull Context context) {
super(fm);
this.context = context;
tabs = new String[] {
"Старт",
"Начало работы",
"Подключение"
};
}
. . .
Когда у Вас в адаптере будет контекст Вы сможете обращаться к ресурсам приложения, включая строковые.
context.getString(R.string.my_string);
Этим Вы решите одну часть Вашей задачи.
Для того чтобы решить вторую часть, Вам нужно создать дополнительные файлы strings.xml
по одному для каждого языка и поместить в них соответствующие переводы строк. Подробно об этом можно почитать в статье.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подскажите самый простой метод вывода векторного изображения (расширения SVG, допустим) в контейнер в JavaFX? Имеется ли аналог контейнера ImageView...
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме
Чем отличается преобразование типов от приведения типов? Относятся ли autoboxing/unboxing к преобразованию или приведению?
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском