تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ Elham Shafiei
دسترسی به 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;
                // ...
        }
    }
}
بهترین پاسخ
میلاد عزیززاده ۲۶ تیر ۱۴۰۰، ۰۸:۵۷

آپدیت شد

میلاد عزیززاده ۲۶ تیر ۱۴۰۰، ۰۹:۳۶