دسترسی به resource ها از کلاس FragmentStateAdapter
حل شده توسط
میلاد عزیززاده
با سلام
اگه بخوایم در متد createFragment از کلاس FragmentStateAdapter به جای اینکه متغیر data رو دستی تعریف کنیم، از string-array در فایل strings.xml بخونیم چیکار باید کرد؟
سلام وقت بخیر
توی این کلاس باید با استفاده از نمونه ای از کلاس context به resourceهای string دسترسی پیدا کنید. توجه داشته باشید چون از طریق MainActivity پارامتر constructor این کلاس تامین میشود پس میشه گفت این پارامتر نمونه ای از کلاس context هم هست چون MainActivity در نهایت کلاس context رو به ارث برده. با استفاده از نمونه کد زیر میتونید به هدفتون برسید
// Main Activity
val slideAdapter = SlideAdapter(this)
class SlideAdapter extends FragmentStateAdapter {
private Context context;
public SlideAdapter(@NonNull FragmentActivity fragmentActivity) {
super(fragmentActivity);
this.context = fragmentActivity;
}
@NonNull
@Override
public Fragment createFragment(int position) {
String data;
switch (position) {
case 0:
data = context.getString(R.string.yourStringName);
break;
// ...
}
}
}